Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№110-09-2015 20:08:37

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 40.0

Snap Links Plus

Установлен Snap Links Plus. В настройках выставил, чтоб ссылки открывались в новых фоновых вкладках. Нельзя ли подправить код, чтобы первая ссылка открывалась в текущей вкладке, если текущая, к примеру, "chrome://fastdial/content/fastdial.html"?
Вроде вот этот кусок за это отвечает...:

скрытый текст

Выделить код

Код:

/**
     * Opens the selected element links in tabs in the current window.
     */
    OpenTabs: function() {
        try {
            var CurrentReferer = this.DocumentReferer;
            var CollectedElementsInfo = this.CollectElementsInfo(this.Selection.FilteredElements);
            var TabsCreated = 0;
            var Browser = this.ChromeWindow.getBrowser();
            var IntervalTimerID,
                OriginalTab = Browser.selectedTab;

            if('TreeStyleTabService' in this.ChromeWindow)
                this.ChromeWindow.TreeStyleTabService.readyToOpenChildTab(Browser.selectedTab, true);

            var DelayedAction = function DelayedAction() {
                if(CollectedElementsInfo.length == 0) {
                    //noinspection JSPotentiallyInvalidUsageOfThis
                    this.ChromeWindow.clearInterval(IntervalTimerID);
                    if('TreeStyleTabService' in this.ChromeWindow)
                        this.ChromeWindow.TreeStyleTabService.stopToOpenChildTab(OriginalTab);
                    return;
                }
                var info = CollectedElementsInfo.shift();

                if(info.href) {
                    if (info.SnapIsJsLink) {
                        this.ClickLink(info.elem); // Click JS links.
                    } else {
                        this.FireEventsForElement(info.elem);

                        var NewTab = Browser.addTab(info.href, CurrentReferer);
                        TabsCreated++;
                        if(TabsCreated == 1 && SLPrefs.Actions.OpenTabs.SwitchToFirstNewTab)
                            Browser.tabContainer.selectedItem = NewTab;
                    }
                }
            };
            IntervalTimerID = this.ChromeWindow.setInterval(DelayedAction.bind(this), SLPrefs.Actions.DelayBetweenActions);
            DelayedAction.call(this);
        }
        catch(e) {
            Components.utils.reportError(e + ":\n"+ e.stack);
        }
    },

    /** Opens a javascript link into a new tab. */
/*
    OpenJsInTab: function(elem) {
        try {
            // Duplicate the current page on a new tab.
            var docHref = this.Document.location.href;
            var newTab = getBrowser().addTab(docHref, this.DocumentReferer);

            // Run our code when the new tab is ready.
            var newTabBrowser = gBrowser.getBrowserForTab(newTab);
            newTabBrowser.addEventListener("load", function () {
                // Get the body element.
                var body = newTabBrowser.contentDocument.body;
                var dupeElem;

                // If the link element has an ID, lets use it.
                if (elem.id) {
                    dupeElem = body.getElementById(elem.id);
                    if (dupeElem) {
                        dupeElem.click();
                    }
                } else {
                    // Oh well, let's do this the hard way.
                    var links = body.getElementsByTagName("A");
                    for (var i = links.length - 1; i >= 0; --i) {
                        dupeElem = links[i];
                        if (dupeElem.href == elem.href) {
                            dupeElem.click();
                            break;
                        }
                    }
                }
            }, true);
        }
        catch(e) {
            Components.utils.reportError(e);
        }
    },
*/

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]