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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№547617-12-2012 23:15:05

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2156
UA: Firefox 10.0

Re: Custom Buttons

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)

Отсутствует

 

№547718-12-2012 11:26:18

olDjeka
Участник
 
Группа: Members
Зарегистрирован: 05-12-2012
Сообщений: 19
UA: Firefox 3.6

Re: Custom Buttons

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/

* Врождённый побочный эффект: относительные ссылки тоже идут через данные порты.
(для меня несущественно - прокси позволяет его устранить)

Отсутствует

 

№547818-12-2012 17:06:37

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 17.0

Re: Custom Buttons

Выделить код

Код:

/*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 +'")');

Проблема в том , что запоминается первая просмотренная страница и при просмотре следующих страниц показывается исходный код  первой просмотренной страницы. Подскажите, что не так.

Отсутствует

 

№547918-12-2012 17:30:58

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2156
UA: Firefox 10.0

Re: Custom Buttons

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);

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();
}

Отсутствует

 

№548018-12-2012 17:43:09

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

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)

Отсутствует

 

№548118-12-2012 18:32:11

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 17.0

Re: Custom Buttons

bunda1, да работает, спасибо.

Отсутствует

 

№548218-12-2012 18:50:43

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 19.0

Re: Custom Buttons

Kamui пишет

bunda1
Благодарю :) а можно сделать исключения не по домену, а по регулярному выражению? Чтобы например на поиске гугла, удалялся таргет, а на https://www.google.com/reader/view/* не удалялся?

bunda1
Как насчет этого? :(

Отсутствует

 

№548318-12-2012 20:11:44

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Kamui пишет

Как насчет этого? :(

Не красивое решение но работает. Если в адресе есть 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)

Отсутствует

 

№548419-12-2012 15:41:04

olDjeka
Участник
 
Группа: Members
Зарегистрирован: 05-12-2012
Сообщений: 19
UA: Firefox 3.6

Re: Custom Buttons

адрес виден при наведении на ссылку
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&amp;p=244#" style="float: right;" onclick="return codeSelect(this)">Выделить код</a>

В этом случае, при клике по ней ЛКМ сначала происходит "Выделение кода", а затем перезагрузка страницы, но через заданный порт.

При клике ЛКМ по "внешним" ссылкам, происходит загрузка страницы через заданный порт в эту же вкладку, а также открывается дубликат через заданный порт в новой вкладке. Причина - включена опция "Открывать все внешние ссылки в новых вкладках" расширения "Tab Utilities".

При клике по ссылкам СКМ всё работает отлично :) Спасибо!
Поскольку многие проблемы при использовании СКМ отпадают, предлагаю вернуться к первому варианту кнопки "RediPort", но чтобы она работала только при нажатии ссылки СКМ, а не ЛКМ.

Отсутствует

 

№548519-12-2012 16:19:41

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 19.0

Re: Custom Buttons

bunda1
Не работает вариант с Reader'ом :(

Отсутствует

 

№548619-12-2012 19:29:51

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Kamui пишет

Не работает вариант с 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

Отсутствует

 

№548719-12-2012 21:33:04

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 19.0

Re: Custom Buttons

bunda1
Спасибо, теперь работает :)

Отсутствует

 

№548819-12-2012 23:07:04

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: IE 9.0

Re: Custom Buttons

Griever обновил UserScriptLoader до v.0.1.8.0. Кто пользуется проверьте - у меня не работает в [firefox]

Отредактировано lokiju (19-12-2012 23:09:17)

Отсутствует

 

№548920-12-2012 00:25:22

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

lokiju пишет

Griever обновил UserScriptLoader до v.0.1.8.0. Кто пользуется проверьте - у меня не работает в [firefox]

У меня на FF17 работает.

Отсутствует

 

№549020-12-2012 02:37:13

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 17.0

Re: Custom Buttons

Что же у меня кнопка не активна(бледная иконка) UserScriptLoader не работает и пишет в консоли:

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

Ошибка: некорректно
Источник:
Строка 1, символ 292
Исходный код:
<window xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><popupset xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><menupopup id="UserScriptLoader-popup"onpopupshowing="USL.onPopupShowing(event);"onpopuphidden="USL.onPopupHidden(event);"onclick="USL.menuClick(event);"><menuseparator id="UserScriptLoader-menuseparator"/><menu label="User Script Command"id="UserScriptLoader-register-menu"accesskey="C"><menupopup id="UserScriptLoader-register-popup"/></menu><menuitem label="Save Script"id="UserScriptLoader-saveMenu"accesskey="S"oncommand="USL.saveScript();"/><menu label="Menu" id="UserScriptLoader-submenu"><menupopup id="UserScriptLoader-submenu-popup"><menuitem label="delete pref storage"oncommand="USL.deleteStorage('pref');" /><menuseparator/><menuitem label="Hide exclude script"id="UserScriptLoader-hide-exclude"accesskey="N"type="checkbox"checked="false"oncommand="USL.HIDE_EXCLUDE = !USL.HIDE_EXCLUDE;" /><menuitem label="Open Scripts Folder"id="UserScriptLoader-openFolderMenu"accesskey="O"oncommand="USL.openFolder();" /><menuitem label="Rebuild"accesskey="R"oncommand="USL.rebuild();" /><menuitem label="Cache Script"id="UserScriptLoader-cache-script"accesskey="C"type="checkbox"checked="false"oncommand="USL.CACHE_SCRIPT = !USL.CACHE_SCRIPT;" /><menuitem label="DEBUG MODE"id="UserScriptLoader-debug-mode"accesskey="D"type="checkbox"checked="false"oncommand="USL.DEBUG = !USL.DEBUG;" /></menupopup></menu></menupopup></


Ошибка: SyntaxError: An invalid or illegal string was specified
Источник: chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button5@init
Строка: 577


Строка 577 у меня range.insertNode(range.createContextualFragment(xml.replace(/\n|\t/g,'')));
С предыдущей версией 0.1.7.9 никаких проблем.

Отредактировано lokiju (20-12-2012 02:42:13)

Отсутствует

 

№549120-12-2012 02:57:21

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

lokiju
В UserScriptLoader Строка: 577 другая:

Выделить код

Код:

oncommand="USL.saveScript();"/>\

Может ты что скопировал неправильно. Используй старую версию.

Отредактировано bunda1 (20-12-2012 02:58:15)

Отсутствует

 

№549220-12-2012 08:06:18

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 19.0

Re: Custom Buttons

lokiju
Вроде работает.

Отсутствует

 

№549320-12-2012 10:42:17

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 20.0

Re: Custom Buttons

Несколько дней назад в [nightly] перестали работать следующие кнопки:

Fit to width 2

Search in Website+

RestartHideQuit

Преобразование из латиницы в кириллицу и наоборот

Вернуть иконки сайтов в адресной строке

Archive.org

My Time

При чём , если установливать кнопки заново, то большинство работают до перезапуска браузера - после пропадают с панелей , их можно наблюдать в окне настройки панелей инструментов в виде вытянутых значков :rolleyes:

b3346a4cb71c9a2a4740b56a33a58fd24f6fa6138645261.png

Попытки перетянуть кнопки обратно на панели безуспешны :dumb: :whistle: :cry: .....:angel:

Отредактировано Крошка Ру (20-12-2012 10:45:40)

Отсутствует

 

№549420-12-2012 11:11:52

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 17.0

Re: Custom Buttons

Крошка Ру
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)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№549520-12-2012 12:14:42

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 17.0

Re: Custom Buttons

bunda1 пишет

lokiju
В UserScriptLoader Строка: 577 другая

Хорошо возьмем как эталонUserScriptLoader тогда строка:616 range.insertNode(range.createContextualFragment(xml.replace(/\n|\t/g,'')));

bunda1 пишет

Может ты что скопировал неправильно.

Если бы было всё так просто...

bunda1 пишет

Используй старую версию.

Ну это я догадался.
У меня подозрение на убунтовскую сборку [firefox]

Отсутствует

 

№549620-12-2012 12:37:29

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 20.0

Re: Custom Buttons

https://forum.mozilla-russia.org/viewto … 08#p592608 (и далее)
При сохранении ломается файл %profile%\custombuttons\buttonsoverlay.xul
В ...\custombuttons\backup\ должны быть резервные копии.
В качестве временного решения достаточно включить javascript.options.xml.chrome в about:config.

Infocatcher, Пропустил тему :)   Спасибо :angel: 
Поменял Сustom Buttons на исправленную версию, очистил папку от всех файлов buttonsoverlay.xul , переключил параметр javascript.options.xml.chrome, кнопки заново установил  - теперь всё вроде заработало :D

Отсутствует

 

№549720-12-2012 12:39:33

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 17.0

Re: Custom Buttons

Крошка Ру
При javascript.options.xml.chrome = true будет работать и оригинальная версия.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№549820-12-2012 18:30:54

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2156
UA: Firefox 10.0

Re: Custom Buttons

olDjeka
Спасибо за подробные разъяснения.

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();
}

Отсутствует

 

№549920-12-2012 18:40:56

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 17.0

Re: Custom Buttons

okkamas_knife пишет

открываю в фоне несколько табов с разными сайтами,как сделать чтоб одни загружались полностью а другие с отключенными картинками?

https://developer.mozilla.org/en-US/doc … p-docShell
https://developer.mozilla.org/en-US/doc … Attributes
+ свойство "linkedBrowser" вкладки.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№550020-12-2012 19:49:12

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2156
UA: Firefox 10.0

Re: Custom Buttons

okkamas_knife пишет

можно пример кода?

Выделить код

Код:

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;

Отсутствует

 

Board footer

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