olDjeka
Предлагаю начать с этого, а там видно будет...
const port = 61080; const portSSL = 61443; const imgTrue = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAgAGsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBgAGsQQ=="; const imgFalse = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAgAGsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBgAGsQQ=="; var button = this; const pn = "custombutton.Porter.active"; var prefs = Application.prefs; if (!prefs.has(pn)) prefs.setValue(pn, true); var pref = prefs.get(pn); button.onclick = function(e) { if (e.button) return; pref.value = !pref.value; button.image = pref.value ? imgTrue : imgFalse; gBrowser.removeEventListener("click", porter, false); if (pref.value) gBrowser.addEventListener("click", porter, false); } button.image = pref.value ? imgTrue : imgFalse; var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService); function porter(e) { if (e.button) return; var node; for(node = e.target; node; node = node.parentNode) { if (node.nodeName == "A") break; } if (node && node.href) { e.preventDefault(); var uri = ios.newURI(node.href, null, null); if (uri.scheme == "http") uri.port = port; if (uri.scheme == "https") uri.port = portSSL; gBrowser.addTab(uri.spec); } } if (pref.value) gBrowser.addEventListener("click", porter, false); this.onDestroy = function(reason) { gBrowser.removeEventListener("click", porter, false); if (reason == "delete") pref.reset(); }
Отредактировано Dumby (17-12-2012 23:23:14)
Отсутствует
Dumby
Спасибо! работает. Основные проблемы:
Если здесь, на форуме, нажать ссылку Выделить код, то выделяется код, но также открывается новая вкладка (адрес виден при наведении на ссылку).
Кроме того, нажатые управляющие клавиши (Alt, Ctrl, или Shift) при клике не действуют.
* Считал будет проще в кнопке использовать ЛКМ, но оказалось наоборот.
Для устранения проблем лучше использовать СКМ, тем более она по умолчанию (у меня) открывает ссылки в новой вкладке.
Открывается новая пустая вкладка если ссылка вида
<a class="f_link_1" href="javascript:req_serv(llnk);">Обновить</a>
* Может есть возможность сначала получить полноценную ссылку (перед самым запросом)?
При клике по ссылкам https открывается две новые вкладки:
httрs://addons.mozilla.org/ и сразу httрs://addons.mozilla.org:61443/
* Должна быть одна, и такая - httр://addons.mozilla.org:61443/
* Врождённый побочный эффект: относительные ссылки тоже идут через данные порты.
(для меня несущественно - прокси позволяет его устранить)
Отсутствует
/*Initialization Code*/ /*Исходный код страницы в новой вкладке*/ document.getElementById("menu_pageSource").setAttribute("oncommand", 'getBrowser (). selectedTab = getBrowser (). addTab ("view-source:' + content.location.href +'")'); document.getElementById("appmenu_pageSource").setAttribute("oncommand", 'getBrowser (). selectedTab = getBrowser (). addTab ("view-source:' + content.location.href +'")'); document.getElementById("context-viewsource").setAttribute("oncommand", 'getBrowser (). selectedTab = getBrowser (). addTab ("view-source:' + content.location.href +'")');
Проблема в том , что запоминается первая просмотренная страница и при просмотре следующих страниц показывается исходный код первой просмотренной страницы. Подскажите, что не так.
Отсутствует
(адрес виден при наведении на ссылку)
Мне без скриптов не виден, лучше распечатай.
Остальное попробовал исправить.
const port = 61080; const portSSL = 61443; const imgTrue = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAgAGsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBgAGsQQ=="; const imgFalse = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAgAGsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBgAGsQQ=="; var button = this; const pn = "custombutton.Porter.active"; var prefs = Application.prefs; if (!prefs.has(pn)) prefs.setValue(pn, true); var pref = prefs.get(pn); function listener(add) { if (add) gBrowser.addEventListener("click", porter, true); else gBrowser.removeEventListener("click", porter, true); } button.onclick = function (e) { if (e.button) return; pref.value = !pref.value; button.image = pref.value ? imgTrue : imgFalse; listener(false); if (pref.value) listener(true); } button.image = pref.value ? imgTrue : imgFalse; var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService); function porter(e) { if (e.button == 2) return; var node; for (node = e.target; node; node = node.parentNode) { if (node.nodeName == "A") break; } if (node && node.href) { var uri = ios.newURI(node.href, null, null); if (uri.scheme == "javascript") return; e.preventDefault(); e.stopPropagation(); var href = node.href; if (uri.scheme == "http") uri.port = port; if (uri.scheme == "https") { uri.port = portSSL; uri.scheme = "http"; } node.setAttribute("href", uri.spec); listener(false); var event = document.createEvent("MouseEvent"); event.initMouseEvent( "click", true, false, window, 1, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, null ); node.dispatchEvent(event); node.setAttribute("href", href); if (pref.value) listener(true); } } if (pref.value) listener(true); this.onDestroy = function (reason) { listener(false); if (reason == "delete") pref.reset(); }
Отсутствует
lokiju
Вроде работает:
// Исходный код страницы в новой вкладке .............................................. setTimeout(function() { document.getElementById("menu_pageSource").setAttribute("oncommand", 'getBrowser (). selectedTab = getBrowser (). addTab ("view-source:" + content.location.href)'); document.getElementById("appmenu_pageSource").setAttribute("oncommand", 'getBrowser (). selectedTab = getBrowser (). addTab ("view-source:" + content.location.href)'); document.getElementById("context-viewsource").setAttribute("oncommand", 'getBrowser (). selectedTab = getBrowser (). addTab ("view-source:" + content.location.href)'); }, 500);
Отредактировано bunda1 (18-12-2012 18:01:13)
Отсутствует
bunda1
Благодарю а можно сделать исключения не по домену, а по регулярному выражению? Чтобы например на поиске гугла, удалялся таргет, а на https://www.google.com/reader/view/* не удалялся?
bunda1
Как насчет этого?
Отсутствует
Как насчет этого?
Не красивое решение но работает. Если в адресе есть reader то target _blank не удаляется.
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3ERemove%20target%20_blank%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aapplication/text%3Bbase64%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%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............................................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20addHostInPref%28%29%3B%20//%20%u041B%u041A%u041C%0A%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20gShowPopup%28this%29%3B%20//%20%u0421%u041A%u041C%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20e.metaKey%20%29%20gShowPopup%28this%29%3B%20//%20%u041F%u041A%u041C%20+%20Ctrl%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%20%7B%20//%20%u041F%u041A%u041C%20%20%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20editExclusions%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%0A%7D%3B%0A%0A%0A%0Aconst%20editor%20%3D%20%22data%3Atext/html%3Bbase64%2CPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50ID0gInRleHQvaHRtbDsgY2hhcnNldCA9IHV0Zi04IiAvPiA8VEVYVEFSRUE+PC9URVhUQVJFQT4gPHN0eWxlPiBodG1sIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfSB0ZXh0YXJlYSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH0gPC9zdHlsZT4KCg%3D%3D%22%3B%0Aconst%20alertsService%20%3D%20Components.classes%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Components.interfaces.nsIAlertsService%29%3B%0A%0Avar%20button%20%3D%20this%3B%0Avar%20val%20%3D%20Application.prefs.getValue%28%22removeTarget.disabled%22%2C%200%29%3B%0AremoveTargetDisabled%20%3D%20%28%20val%20%3D%3D%200%20%29%3F%20%22%22%3A%20val%3B%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20%u043F%u0440%u0438%20%u0441%u0442%u0430%u0440%u0442%u0435%0A%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A//%20%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20target%20_blank%20%u0432%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043D%u044B%u0445%20%u0434%u043E%u043C%u0435%u043D%u0430%u0445%20.....................................%0Afunction%20removeTarget%28e%29%20%7B%20%20%0A%20%20%20%20%0A%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0434%u0440%u0443%u0433%u0438%u0435%20%u0432%u043B%u0430%u0434%u043A%u0438%20%u0432%20%u0444%u043E%u043D%u043E%u0432%u043E%u043C%20%u0440%u0435%u0436%u0438%u043C%u0435%20....%0A%20%20%20%20%20if%20%28%20e.type%20%21%3D%3D%20%22DOMMouseScroll%22%20%26%26%20e.target.linkedBrowser.currentURI.spec%20%21%3D%3D%20getBrowser%28%29.currentURI.spec%20%29%20return%3B%0A%0A%20%20%20%20%20if%20%28%20getBrowser%28%29.currentURI.spec%20%3D%3D%20editor%20%29%20gURLBar.value%20%3D%20%22%22%3B%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%u0435%20%u0434%u043E%u043C%u0435%u043D%u044B%20....%0A%20%20%20%20%20if%20%28%20removeTargetDisabled.indexOf%28%20content.location.host%20%29%20%21%3D%3D%20-1%20%0A%20%20%20%20%20%20%20%20%20%20%26%26%20/reader/.test%28%20content.location%20%29%20%29%20return%3B%20%20%20%20%20%20%0A%0A%20%20%20%20%20var%20links%20%3D%20gBrowser.contentDocument.links%3B%0A%20%20%20%20%20if%20%28%20%21links%20%29%20return%3B%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0441%u0441%u044B%u043B%u043E%u043A%20%u043D%u0435%u0442%0A%20%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%200%3B%20i%20%3C%20links.length%3B%20i++%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20links%5Bi%5D.removeAttribute%28%22target%22%2C%20%22_blank%22%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%7D%0AgBrowser.addEventListener%28%22DOMMouseScroll%22%2C%20removeTarget%2C%20true%29%3B%20%20%0AgBrowser.tabContainer.addEventListener%28%22TabAttrModified%22%2C%20removeTarget%2C%20true%29%3B%0A%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%20%20%20%20gBrowser.removeEventListener%28%22DOMMouseScroll%22%2C%20removeTarget%2C%20true%29%3B%20%0A%20%20%20%20gBrowser.tabContainer.removeEventListener%28%22TabAttrModified%22%2C%20removeTarget%2C%20true%29%3B%0A%20%20%20%20%0A%20%20%20%20if%20%28reason%20%3D%3D%20%22delete%22%29%20custombuttons.clearPrefs%28%22removeTarget.disabled%22%29%3B%20%20%20%20%0A%7D%3B%0A%0A%0A%0A//%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0438%u0439%20%u0434%u043E%u043C%u0435%u043D%20%u0438%u043B%u0438%20%u0441%u043F%u0438%u0441%u043E%u043A%20%u0438%u0437%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%u0430%20%u0432%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20.............................%0Afunction%20addHostInPref%28%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20var%20currURL%20%3D%20content.location.href%3B%0A%20%20%20%20%20var%20currHost%20%3D%20content.location.host%3B%0A%0A%20%20%20%20%20if%20%28%20currURL%20%21%3D%3D%20editor%20%26%26%20%21currHost%20%7C%7C%20/mozapps%7Cglobal%7Cbrowser/.test%28%20currHost%20%29%20%29%20return%3B%0A%0A%20%20%20%20%20if%20%28%20currURL%20%21%3D%3D%20editor%20%26%26%20removeTargetDisabled.indexOf%28currHost%29%20%21%3D%3D%20-1%20%29%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20alertsService.showAlertNotification%28%22chrome%3A//global/skin/icons/error-16.png%22%2C%20button.label%2C%20%22%u0418%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u0443%u0436%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%20%20%20%20%20%0A%0A%20%20%20%20%20if%20%28%20currURL%20%3D%3D%20editor%20%29%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20title%20%3D%20button.label%0A%20%20%20%20%20%20%20%20%20%20var%20notification%20%3D%20%22%u0421%u043E%u0445%u0440%u0430%u043D%u0438%u043B%20%u043D%u043E%u0432%u044B%u0439%20%u0441%u043F%u0438%u0441%u043E%u043A%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0439%22%3B%0A%20%20%20%20%20%20%20%20%20%20var%20image%20%3D%20%22chrome%3A//global/skin/icons/information-16.png%22%3B%0A%20%20%20%20%20%20%20%20%20%20var%20str%20%3D%20content.document.getElementsByTagName%28%22textarea%22%29%5B0%5D.value%3B%0A%20%20%20%20%20%20%20%20%20%20removeTargetDisabled%20%3D%20%28%20str.split%28%22%2C%22%29.length%20%3C%202%29%3F%20%22%22%3A%20str%3B%20//%20%u0435%u0441%u043B%u0438%20%u043D%u0435%u0442%20%u0442%u0435%u043A%u0441%u0442%u0430%20%20%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20else%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20title%20%3D%20currHost%3B%0A%20%20%20%20%20%20%20%20%20%20var%20notification%20%3D%20%22%u0414%u043E%u0431%u0430%u0432%u0438%u043B%20%u0434%u043E%u043C%u0435%u043D%20%u0432%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%22%3B%0A%20%20%20%20%20%20%20%20%20%20var%20image%20%3D%20gBrowser.mCurrentTab.image%3F%20gBrowser.mCurrentTab.image%3A%20button.image%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20removeTargetDisabled%20%3D%20removeTargetDisabled%20+%20currHost%20+%20%22%2C%22%20+%20%22%5Cn%22%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%0A%20%20%20%20%20Application.prefs.setValue%28%22removeTarget.disabled%22%2C%20removeTargetDisabled%20%29%3B%0A%20%20%20%20%20alertsService.showAlertNotification%28image%2C%20title%2C%20notification%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%7D%3B%0A%0A%0A%0A//%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0435%20%u043F%u043E%u043B%u0435%28%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%29%20%u0438%20%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20.............................................%0Afunction%20editExclusions%28%29%20%7B%0A%0A%20%20%20%20%20if%20%28%20removeTargetDisabled.length%20%3C%202%20%29%20%7B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20alertsService.showAlertNotification%28%22chrome%3A//global/skin/icons/error-16.png%22%2C%20button.label%2C%20%22%u0418%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0439%20%u043D%u0435%u0442%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20for%20%28%20var%20i%20%3D%200%3B%20i%20%3C%20gBrowser.tabs.length%3B%20i++%20%29%20%7B%20//%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u0435%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%u044B%0A%20%20%20%20%20%20%20%20%20%20%20var%20tab%20%3D%20gBrowser.mTabs%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20tab.linkedBrowser.currentURI.spec%20%21%3D%3D%20editor%20%29%20continue%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gBrowser.removeTab%28tab%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%28%20content.location.href%20%3D%3D%20editor%20%29%3F%20loadURI%28%20editor%20%29%3A%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20editor%20%29%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20gBrowser.addEventListener%28%22pageshow%22%2C%20function%28%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20content.document.title%20%3D%20%22Editor%22%3B%0A%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28%22pageshow%22%2C%20arguments.callee%2C%20true%29%3B%20%20%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20%20%20content.document.getElementsByTagName%28%22textarea%22%29%5B0%5D.value%20%3D%20removeTargetDisabled%3B%20//%20%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%7D%2C%20true%29%3B%0A%7D%3B%0A%0A%0A%0Athis.tooltipText%20%3D%20%22%u041B%u041A%u041C%3A%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0434%u043E%u043C%u0435%u043D%20%u0432%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%22%20+%22%5Cn%22+%0A%09%09%20%20%20%22%u0421%u041A%u041C%3A%20CB%20%u043C%u0435%u043D%u044E%22%20+%22%5Cn%22+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%u041F%u041A%u041C%3A%20%u0420%u0435%u0434%u0430%u043A%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отредактировано bunda1 (18-12-2012 20:14:19)
Отсутствует
адрес виден при наведении на ссылку
Dumby пишет:
Мне без скриптов не виден
Это адрес той же страницы на которой нажимается ссылка (может быть с якорем).
Например, адрес 244 страницы этого топика:
http://forum.mozilla-russia.org/viewtopic.php?id=9591&p=244
видимый адрес ссылки "Выделить код" после раскрытия spoiler "скрытый текст":
http://forum.mozilla-russia.org/viewtopic.php?id=9591&p=244#
сама ссылка для перехода:
<a href="http://forum.mozilla-russia.org/viewtopic.php?id=9591&p=244#" style="float: right;" onclick="return codeSelect(this)">Выделить код</a>
В этом случае, при клике по ней ЛКМ сначала происходит "Выделение кода", а затем перезагрузка страницы, но через заданный порт.
При клике ЛКМ по "внешним" ссылкам, происходит загрузка страницы через заданный порт в эту же вкладку, а также открывается дубликат через заданный порт в новой вкладке. Причина - включена опция "Открывать все внешние ссылки в новых вкладках" расширения "Tab Utilities".
При клике по ссылкам СКМ всё работает отлично Спасибо!
Поскольку многие проблемы при использовании СКМ отпадают, предлагаю вернуться к первому варианту кнопки "RediPort", но чтобы она работала только при нажатии ссылки СКМ, а не ЛКМ.
Отсутствует
Не работает вариант с Reader'ом
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3ERemove%20target%20_blank%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aapplication/text%3Bbase64%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%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............................................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20addHostInPref%28%29%3B%20//%20%u041B%u041A%u041C%0A%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20gShowPopup%28this%29%3B%20//%20%u0421%u041A%u041C%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20e.metaKey%20%29%20gShowPopup%28this%29%3B%20//%20%u041F%u041A%u041C%20+%20Ctrl%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%20%7B%20//%20%u041F%u041A%u041C%20%20%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20editExclusions%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%0A%7D%3B%0A%0A%0A%0Aconst%20editor%20%3D%20%22data%3Atext/html%3Bbase64%2CPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50ID0gInRleHQvaHRtbDsgY2hhcnNldCA9IHV0Zi04IiAvPiA8VEVYVEFSRUE+PC9URVhUQVJFQT4gPHN0eWxlPiBodG1sIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfSB0ZXh0YXJlYSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH0gPC9zdHlsZT4KCg%3D%3D%22%3B%0Aconst%20alertsService%20%3D%20Components.classes%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Components.interfaces.nsIAlertsService%29%3B%0A%0Avar%20button%20%3D%20this%3B%0Avar%20val%20%3D%20Application.prefs.getValue%28%22removeTarget.disabled%22%2C%200%29%3B%0AremoveTargetDisabled%20%3D%20%28%20val%20%3D%3D%200%20%29%3F%20%22%22%3A%20val%3B%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20%u043F%u0440%u0438%20%u0441%u0442%u0430%u0440%u0442%u0435%0A%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A//%20%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20target%20_blank%20%u0432%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043D%u044B%u0445%20%u0434%u043E%u043C%u0435%u043D%u0430%u0445%20.....................................%0Afunction%20removeTarget%28e%29%20%7B%20%20%0A%20%20%20%20%0A%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0434%u0440%u0443%u0433%u0438%u0435%20%u0432%u043B%u0430%u0434%u043A%u0438%20%u0432%20%u0444%u043E%u043D%u043E%u0432%u043E%u043C%20%u0440%u0435%u0436%u0438%u043C%u0435%20....%0A%20%20%20%20%20if%20%28%20e.type%20%21%3D%3D%20%22DOMMouseScroll%22%20%26%26%20e.target.linkedBrowser.currentURI.spec%20%21%3D%3D%20getBrowser%28%29.currentURI.spec%20%29%20return%3B%0A%0A%20%20%20%20%20if%20%28%20getBrowser%28%29.currentURI.spec%20%3D%3D%20editor%20%29%20gURLBar.value%20%3D%20%22%22%3B%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%u0435%20%u0434%u043E%u043C%u0435%u043D%u044B%20%u0438%u043B%u0438%20%27reader%27%20....%0A%20%20%20%20%20if%20%28%20/reader/.test%28%20content.location%20%29%20%7C%7C%20removeTargetDisabled.indexOf%28%20content.location.host%20%29%20%21%3D%3D%20-1%20%29%20return%3B%20%20%20%20%20%20%0A%0A%20%20%20%20%20var%20links%20%3D%20gBrowser.contentDocument.links%3B%0A%20%20%20%20%20if%20%28%20%21links%20%29%20return%3B%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0441%u0441%u044B%u043B%u043E%u043A%20%u043D%u0435%u0442%0A%20%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%200%3B%20i%20%3C%20links.length%3B%20i++%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20links%5Bi%5D.removeAttribute%28%22target%22%2C%20%22_blank%22%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%7D%0AgBrowser.addEventListener%28%22DOMMouseScroll%22%2C%20removeTarget%2C%20true%29%3B%20%20%0AgBrowser.tabContainer.addEventListener%28%22TabAttrModified%22%2C%20removeTarget%2C%20true%29%3B%0A%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%20%20%20%20gBrowser.removeEventListener%28%22DOMMouseScroll%22%2C%20removeTarget%2C%20true%29%3B%20%0A%20%20%20%20gBrowser.tabContainer.removeEventListener%28%22TabAttrModified%22%2C%20removeTarget%2C%20true%29%3B%0A%20%20%20%20%0A%20%20%20%20if%20%28reason%20%3D%3D%20%22delete%22%29%20custombuttons.clearPrefs%28%22removeTarget.disabled%22%29%3B%20%20%20%20%0A%7D%3B%0A%0A%0A%0A//%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0438%u0439%20%u0434%u043E%u043C%u0435%u043D%20%u0438%u043B%u0438%20%u0441%u043F%u0438%u0441%u043E%u043A%20%u0438%u0437%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%u0430%20%u0432%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20.............................%0Afunction%20addHostInPref%28%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20var%20currURL%20%3D%20content.location.href%3B%0A%20%20%20%20%20var%20currHost%20%3D%20content.location.host%3B%0A%0A%20%20%20%20%20if%20%28%20currURL%20%21%3D%3D%20editor%20%26%26%20%21currHost%20%7C%7C%20/mozapps%7Cglobal%7Cbrowser/.test%28%20currHost%20%29%20%29%20return%3B%0A%0A%20%20%20%20%20if%20%28%20currURL%20%21%3D%3D%20editor%20%26%26%20removeTargetDisabled.indexOf%28currHost%29%20%21%3D%3D%20-1%20%29%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20alertsService.showAlertNotification%28%22chrome%3A//global/skin/icons/error-16.png%22%2C%20button.label%2C%20%22%u0418%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u0443%u0436%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%20%20%20%20%20%0A%0A%20%20%20%20%20if%20%28%20currURL%20%3D%3D%20editor%20%29%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20title%20%3D%20button.label%0A%20%20%20%20%20%20%20%20%20%20var%20notification%20%3D%20%22%u0421%u043E%u0445%u0440%u0430%u043D%u0438%u043B%20%u043D%u043E%u0432%u044B%u0439%20%u0441%u043F%u0438%u0441%u043E%u043A%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0439%22%3B%0A%20%20%20%20%20%20%20%20%20%20var%20image%20%3D%20%22chrome%3A//global/skin/icons/information-16.png%22%3B%0A%20%20%20%20%20%20%20%20%20%20var%20str%20%3D%20content.document.getElementsByTagName%28%22textarea%22%29%5B0%5D.value%3B%0A%20%20%20%20%20%20%20%20%20%20removeTargetDisabled%20%3D%20%28%20str.split%28%22%2C%22%29.length%20%3C%202%29%3F%20%22%22%3A%20str%3B%20//%20%u0435%u0441%u043B%u0438%20%u043D%u0435%u0442%20%u0442%u0435%u043A%u0441%u0442%u0430%20%20%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20else%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20title%20%3D%20currHost%3B%0A%20%20%20%20%20%20%20%20%20%20var%20notification%20%3D%20%22%u0414%u043E%u0431%u0430%u0432%u0438%u043B%20%u0434%u043E%u043C%u0435%u043D%20%u0432%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%22%3B%0A%20%20%20%20%20%20%20%20%20%20var%20image%20%3D%20gBrowser.mCurrentTab.image%3F%20gBrowser.mCurrentTab.image%3A%20button.image%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20removeTargetDisabled%20%3D%20removeTargetDisabled%20+%20currHost%20+%20%22%2C%22%20+%20%22%5Cn%22%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%0A%20%20%20%20%20Application.prefs.setValue%28%22removeTarget.disabled%22%2C%20removeTargetDisabled%20%29%3B%0A%20%20%20%20%20alertsService.showAlertNotification%28image%2C%20title%2C%20notification%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%7D%3B%0A%0A%0A%0A//%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0435%20%u043F%u043E%u043B%u0435%28%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%29%20%u0438%20%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20.............................................%0Afunction%20editExclusions%28%29%20%7B%0A%0A%20%20%20%20%20if%20%28%20removeTargetDisabled.length%20%3C%202%20%29%20%7B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20alertsService.showAlertNotification%28%22chrome%3A//global/skin/icons/error-16.png%22%2C%20button.label%2C%20%22%u0418%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0439%20%u043D%u0435%u0442%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20for%20%28%20var%20i%20%3D%200%3B%20i%20%3C%20gBrowser.tabs.length%3B%20i++%20%29%20%7B%20//%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u0435%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%u044B%0A%20%20%20%20%20%20%20%20%20%20%20var%20tab%20%3D%20gBrowser.mTabs%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20tab.linkedBrowser.currentURI.spec%20%21%3D%3D%20editor%20%29%20continue%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gBrowser.removeTab%28tab%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%28%20content.location.href%20%3D%3D%20editor%20%29%3F%20loadURI%28%20editor%20%29%3A%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20editor%20%29%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20gBrowser.addEventListener%28%22pageshow%22%2C%20function%28%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20content.document.title%20%3D%20%22Editor%22%3B%0A%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28%22pageshow%22%2C%20arguments.callee%2C%20true%29%3B%20%20%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20%20%20content.document.getElementsByTagName%28%22textarea%22%29%5B0%5D.value%20%3D%20removeTargetDisabled%3B%20//%20%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%7D%2C%20true%29%3B%0A%7D%3B%0A%0A%0A%0Athis.tooltipText%20%3D%20%22%u041B%u041A%u041C%3A%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0434%u043E%u043C%u0435%u043D%20%u0432%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%22%20+%22%5Cn%22+%0A%09%09%20%20%20%22%u0421%u041A%u041C%3A%20CB%20%u043C%u0435%u043D%u044E%22%20+%22%5Cn%22+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%u041F%u041A%u041C%3A%20%u0420%u0435%u0434%u0430%u043A%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u044F%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
Griever обновил UserScriptLoader до v.0.1.8.0. Кто пользуется проверьте - у меня не работает в
Отредактировано lokiju (19-12-2012 23:09:17)
Отсутствует
Griever обновил UserScriptLoader до v.0.1.8.0. Кто пользуется проверьте - у меня не работает в
У меня на FF17 работает.
Отсутствует
Что же у меня кнопка не активна(бледная иконка) UserScriptLoader не работает и пишет в консоли:
Ошибка: SyntaxError: An invalid or illegal string was specified
Источник: chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button5@init
Строка: 577
Отредактировано lokiju (20-12-2012 02:42:13)
Отсутствует
lokiju
В UserScriptLoader Строка: 577 другая:
Может ты что скопировал неправильно. Используй старую версию.
Отредактировано bunda1 (20-12-2012 02:58:15)
Отсутствует
Несколько дней назад в перестали работать следующие кнопки:
Преобразование из латиницы в кириллицу и наоборот
Вернуть иконки сайтов в адресной строке
При чём , если установливать кнопки заново, то большинство работают до перезапуска браузера - после пропадают с панелей , их можно наблюдать в окне настройки панелей инструментов в виде вытянутых значков
Попытки перетянуть кнопки обратно на панели безуспешны .....
Отредактировано Крошка Ру (20-12-2012 10:45:40)
Отсутствует
Крошка Ру
https://forum.mozilla-russia.org/viewto … 08#p592608 (и далее)
При сохранении ломается файл %profile%\custombuttons\buttonsoverlay.xul
В ...\custombuttons\backup\ должны быть резервные копии.
В качестве временного решения достаточно включить javascript.options.xml.chrome в about:config.
Добавлено 20-12-2012 12:39:32
Для восстановления кнопок: https://forum.mozilla-russia.org/viewto … 69#p593369
Отредактировано Infocatcher (20-12-2012 12:38:11)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
lokiju
В UserScriptLoader Строка: 577 другая
Хорошо возьмем как эталонUserScriptLoader тогда строка:616 range.insertNode(range.createContextualFragment(xml.replace(/\n|\t/g,'')));
Может ты что скопировал неправильно.
Если бы было всё так просто...
Используй старую версию.
Ну это я догадался.
У меня подозрение на убунтовскую сборку
Отсутствует
https://forum.mozilla-russia.org/viewto … 08#p592608 (и далее)
При сохранении ломается файл %profile%\custombuttons\buttonsoverlay.xul
В ...\custombuttons\backup\ должны быть резервные копии.
В качестве временного решения достаточно включить javascript.options.xml.chrome в about:config.
Infocatcher, Пропустил тему Спасибо
Поменял Сustom Buttons на исправленную версию, очистил папку от всех файлов buttonsoverlay.xul , переключил параметр javascript.options.xml.chrome, кнопки заново установил - теперь всё вроде заработало
Отсутствует
Крошка Ру
При javascript.options.xml.chrome = true будет работать и оригинальная версия.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
olDjeka
Спасибо за подробные разъяснения.
Поскольку многие проблемы при использовании СКМ отпадают, предлагаю вернуться
ОК. Возвращаемся.
const port = 61080; const portSSL = 61443; const imgTrue = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAAOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8A4AD/AOAA/wDgAP8AAAAAgAGsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBgAGsQQ=="; const imgFalse = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv+Kior/ioqK/4qKiv8AAAAAgAGsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBgAGsQQ=="; var button = this; const pn = "custombutton.Porter.active"; var prefs = Application.prefs; if (!prefs.has(pn)) prefs.setValue(pn, true); var pref = prefs.get(pn); button.onclick = function(e) { if (e.button) return; pref.value = !pref.value; button.image = pref.value ? imgTrue : imgFalse; gBrowser.removeEventListener("click", porter, true); if (pref.value) gBrowser.addEventListener("click", porter, true); } button.image = pref.value ? imgTrue : imgFalse; var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService); function porter(e) { if (e.button != 1) return; var node; for(node = e.target; node; node = node.parentNode) { if (node.nodeName == "A") break; } if (node && node.href) { var uri = ios.newURI(node.href, null, null); var http = uri.scheme == "http"; if (http || uri.scheme == "https") { e.preventDefault(); uri.port = http ? port : portSSL; uri.scheme = "http"; gBrowser.addTab(uri.spec); } } } if (pref.value) gBrowser.addEventListener("click", porter, true); this.onDestroy = function(reason) { gBrowser.removeEventListener("click", porter, true); if (reason == "delete") pref.reset(); }
Отсутствует
открываю в фоне несколько табов с разными сайтами,как сделать чтоб одни загружались полностью а другие с отключенными картинками?
https://developer.mozilla.org/en-US/doc … p-docShell
https://developer.mozilla.org/en-US/doc … Attributes
+ свойство "linkedBrowser" вкладки.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
можно пример кода?
const url = "http://forum.mozilla-russia.org/index.php"; var tab1 = gBrowser.addTab(url); tab1.linkedBrowser.docShell.allowImages = true; var tab2 = gBrowser.addTab(url); tab2.linkedBrowser.docShell.allowImages = false;
Отсутствует