>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >[CB] Открыть новую вкладку рядом с текущей http://forum.mozilla-russia.org/viewtopic.php?id=59864 |
2k1dmg > 05-08-2013 15:07:11 |
Открыть новую вкладку рядом с текущей 0.0.6 2013-09-01 Инициализация: Выделить код Код:// NewTabAfterCurrentRMB-0.0.6.20130901-fx //"use strict"; let newTabAfterCurrentRMB = { addNewTab: function(e) { if (e.button != 2) return; e.preventDefault(); e.stopPropagation(); let where = (!e.ctrlKey && e.shiftKey && !e.metaKey && !e.altKey) ? "tabshifted" : "tab"; openUILinkIn(BROWSER_NEW_TAB_URL, where, { relatedToCurrent : true }); }, get elementsList() { let elementsList = []; elementsList.push (document.getAnonymousElementByAttribute(gBrowser.tabContainer, "class", "tabs-newtab-button"), document.getElementById("new-tab-button")); return elementsList; }, toggleEventListener: function(tReason) { let toggle = (tReason == "add") ? "addEventListener" : "removeEventListener"; let tElements = this.elementsList; for (let i in tElements) { tElements[i][toggle]("click", this, true); } window[toggle]('unload', this, false); }, handleEvent: function(e) { if (e.type == "click") this.addNewTab(e); else if (e.type == "unload") this.uninit(); }, init: function() { this.toggleEventListener("add"); }, uninit: function() { this.toggleEventListener("remove"); } }; newTabAfterCurrentRMB.init(); addDestructor(function(reason) { newTabAfterCurrentRMB.uninit(); }, this); |