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

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

№560113-01-2013 00:49:52

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

Re: Custom Buttons

rbfyec
Мистика однако. Маловероятно что настройки виноваты, это наверно какое то расширение глючит можно попробовать отключать их по одному и запускать код, и тогда узнаешь кто виноват.

Что ты этим кодом хочешь добиться?

Отсутствует

 

№560213-01-2013 00:51:03

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 9.0

Re: Custom Buttons

А сейчас открываются нормальные окна. Ничего и нигде я не менял...
Чудеса?

Отсутствует

 

№560313-01-2013 14:02:32

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 18.0

Re: Custom Buttons

bunda1 посмотри, может подойдет для перевода в Google как в Microsoft :

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

Выделить код

Код:

//--------Перевести страницу с Google в новой вкладке--------------
if ( "noscriptUtil" in window ) {
        var autoReload = custombuttons.getPrefs("noscript.autoReload");
        if ( autoReload ) custombuttons.setPrefs("noscript.autoReload", false);
        noscriptOverlay.allowPage();
        if ( autoReload ) setTimeout(function() { custombuttons.setPrefs("noscript.autoReload", true) }, 10)
        }
        
   // перевод страницы в новой активной вкладке ....
  
     var newTab = gBrowser.duplicateTab(gBrowser.mCurrentTab);
    ++gBrowser.tabContainer.selectedIndex;
    // Убирает глюк (перевод не клонируемой, а последней) если переводимая вкладка находится не в конце
   gBrowser.selectedTab = newTab  
        //...
    gBrowser.addEventListener("pageshow", function(event) {
       gBrowser.removeEventListener("pageshow", arguments.callee, true);
       getBrowser (). loadURI (atob ("amF2YXNjcmlwdDp7ZD1kb2N1bWVudDtiPWQuYm9keTtvPWQuY3JlYXRlRWxlbWVudCgnc2NyaScrJ3B0Jyk7by5zZXRBdHRyaWJ1dGUoJ3NyYycsJ2h0dHA6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JmhsPXJ1Jyk7by5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCd0ZXh0L2phdmFzY3JpcHQnKTtiLmFwcGVuZENoaWxkKG8pO3Y9Yi5pbnNlcnRCZWZvcmUoZC5jcmVhdGVFbGVtZW50KCdkaXYnKSxiLmZpcnN0Q2hpbGQpO3YuaWQ9J2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCc7di5zdHlsZS5kaXNwbGF5PSdub25lJztwPWQuY3JlYXRlRWxlbWVudCgnc2NyaScrJ3B0Jyk7cC50ZXh0PSdmdW5jdGlvbiUyMGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0KCl7dmFyJTIwdEVsZW0lMjA9JTIwbmV3JTIwZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHtwYWdlTGFuZ3VhZ2U6IiJ9LCJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCklMjB7JTIwdEVsZW0uc2hvd0Jhbm5lcih0cnVlKTslMjB9LDEwMCk7fSc7cC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCd0ZXh0L2phdmFzY3JpcHQnKTtiLmFwcGVuZENoaWxkKHApO312b2lkJTIwMA=="));

    }, true);

Отредактировано Andrey_Krropotkin (13-01-2013 14:18:04)

Отсутствует

 

№560413-01-2013 16:29:54

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

Re: Custom Buttons

Andrey_Krropotkin
О, спасибо я не знал что Google так может переводить :)
Это пригодится.

Отредактировано bunda1 (13-01-2013 16:32:17)

Отсутствует

 

№560513-01-2013 16:47:14

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

Re: Custom Buttons

okkamas_knife пишет

а можешь пояснить что именно делает этот кусок кода?

Хороший вопрос.

Отсутствует

 

№560613-01-2013 17:28:05

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

Re: Custom Buttons

Очевидно, загружает результат выполнения atob (" ... ").

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

Выделить код

Код:

javascript:{d=document;b=d.body;o=d.createElement('scri'+'pt');o.setAttribute('src','http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=ru');o.setAttribute('type','text/javascript');b.appendChild(o);v=b.insertBefore(d.createElement('div'),b.firstChild);v.id='google_translate_element';v.style.display='none';p=d.createElement('scri'+'pt');p.text='function%20googleTranslateElementInit(){var%20tElem%20=%20new%20google.translate.TranslateElement({pageLanguage:""},"google_translate_element");setTimeout(function()%20{%20tElem.showBanner(true);%20},100);}';p.setAttribute('type','text/javascript');b.appendChild(p);}void%200

+ decodeURI()

Выделить код

Код:

javascript:{d=document;b=d.body;o=d.createElement('scri'+'pt');o.setAttribute('src','http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=ru');o.setAttribute('type','text/javascript');b.appendChild(o);v=b.insertBefore(d.createElement('div'),b.firstChild);v.id='google_translate_element';v.style.display='none';p=d.createElement('scri'+'pt');p.text='function googleTranslateElementInit(){var tElem = new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");setTimeout(function() { tElem.showBanner(true); },100);}';p.setAttribute('type','text/javascript');b.appendChild(p);}void 0

+ http://jsbeautifier.org/

Выделить код

Код:

javascript: {
    d = document;
    b = d.body;
    o = d.createElement('scri' + 'pt');
    o.setAttribute('src', 'http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=ru');
    o.setAttribute('type', 'text/javascript');
    b.appendChild(o);
    v = b.insertBefore(d.createElement('div'), b.firstChild);
    v.id = 'google_translate_element';
    v.style.display = 'none';
    p = d.createElement('scri' + 'pt');
    p.text = 'function googleTranslateElementInit(){var tElem = new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");setTimeout(function() { tElem.showBanner(true); },100);}';
    p.setAttribute('type', 'text/javascript');
    b.appendChild(p);
}
void 0

А еще оно глобальные переменные создает. :)


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

Отсутствует

 

№560713-01-2013 17:39:47

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

Re: Custom Buttons

Спасибо

Отредактировано bunda1 (13-01-2013 18:06:26)

Отсутствует

 

№560813-01-2013 19:03:54

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

Re: Custom Buttons

Как открыть из кода инициализации кнопки всплывающую подсказку(tooltip) у кнопки и как в эту подсказку добавить иконку или изображение. Я тут нашёл код который сам открывает подсказку но не рядом с кнопкой и без иконки, может кто подправит или предложит вариант попроще:

Выделить код

Код:

function showToTooltip( button ) {
    var id = "cbpopup" + button;
    var p = document. getElementById( id );
    if ( !p ) {
        p = <tooltip xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        id={id}
        onpopupshown="setTimeout((function (arg) { return function () {arg. hidePopup ();}})(this), 2000)"/>
        p = new DOMParser().parseFromString( p.toXMLString(), "application/xml" ).documentElement;
        var ps = document.getElementById("mainPopupSet");
        ps. appendChild( p );
        p. style.fontWeight = "bold";
        p. style.color = "green";
        p. onpopupshown = "{let THIS = this; setTimeout(function() { THIS.hidePopup() }, 2) }";
    }
    p. label = "bunda" + 1;    
    p. openPopupAtScreen( 24, 24 , false );
}
showToTooltip( this.id  );

Отредактировано bunda1 (13-01-2013 19:24:19)

Отсутствует

 

№560913-01-2013 20:20:03

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

Re: Custom Buttons

okkamas_knife
Да с иконкой вроде понятно но как сделать что бы подсказка(tooltip) у кнопки сама появлялась ну скажем по таймеру а не по клику.

Отсутствует

 

№561013-01-2013 20:30:28

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

Re: Custom Buttons


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

Отсутствует

 

№561113-01-2013 20:37:09

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

Re: Custom Buttons

Теперь сама открывается но не у кнопки, как это исправить.

Выделить код

Код:

var ps = document.getElementById("mainPopupSet");
var xulns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var ttId = this.id + "-tooltip";
var tt = document.getElementById(ttId);
if(tt)
    ps.removeChild(tt);
tt = custombuttonsUtils.makeXML(
    <tooltip xmlns={xulns} id={ttId} align="center">
        <label value="Some image:" />
        <image src="http://forum.mozilla-russia.org/img/browsers/firefox35.png" />
    </tooltip>
);
ps.appendChild(tt);

this.removeAttribute("tooltiptext");
this.setAttribute("tooltip", ttId);
setTimeout(function() { document.getElementById( ttId ).openPopup() }, 4000)
setTimeout(function() { document.getElementById( ttId ).hidePopup() }, 8000)

Отсутствует

 

№561213-01-2013 20:50:34

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

Re: Custom Buttons

bunda1 пишет

открывается но не у кнопки

Выделить код

Код:

var btn = this;
setTimeout(function() { tt.openPopup(btn); }, 4000);
setTimeout(function() { tt.hidePopup(); }, 8000);

Добавлено 13-01-2013 20:51:09
Ну, или еще как-нибудь, см. https://developer.mozilla.org/en-US/doc … /openPopup.

Отредактировано Infocatcher (13-01-2013 20:51:09)


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

Отсутствует

 

№561313-01-2013 20:54:46

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

Re: Custom Buttons

Вот теперь другое дело, спасибо.
И последнее как там иконку в подсказке поставить ровно перед текстом а не снизу как сейчас.

Отсутствует

 

№561413-01-2013 21:14:41

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

Re: Custom Buttons

bunda1 пишет

иконку в подсказке поставить ровно перед текстом

Например, так:

Выделить код

Код:

<tooltip xmlns={xulns} id={ttId} align="center" orient="horizontal">
        <image src="http://forum.mozilla-russia.org/img/browsers/firefox35.png" />
        <label value="Some image:" />
    </tooltip>

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

Отсутствует

 

№561513-01-2013 21:23:59

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

Re: Custom Buttons

Infocatcher
Спасибо, мне ты очень помог.

Отсутствует

 

№561613-01-2013 21:59:59

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

Re: Custom Buttons

Нет,  для загрузок.

Отредактировано bunda1 (13-01-2013 22:00:12)

Отсутствует

 

№561713-01-2013 22:29:45

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 18.0

Re: Custom Buttons

Infocatcher Спасибо что разъяснили пока меня не было:
1. Переделал в atob (" ... ") т.к. кнопка с чистым javascript: выкидывало постоянно в ошибки
2. Параметр googleTranslateElementInit&hl=ru отвечает на каком языке показывать верхнюю панель и на какой язык по умолчанию переводить
3. setTimeout(function() { tElem.showBanner(true); },100); отвечает за автоматический перевод
Подсказки для кода увидел на http://productforums.google.com/forum и на http://marklets.com/Translate.aspx

Отредактировано Andrey_Krropotkin (13-01-2013 22:32:03)

Отсутствует

 

№561814-01-2013 00:48:05

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 9.0

Re: Custom Buttons

bunda1 пишет

Попробуй:

Выделить код

Код:

javascript:(function(){ window.open('https://www.google.com/search?q='+encodeURIComponent( document.commandDispatcher.focusedWindow.getSelection() ),'', 'width=1010, height=280,top=315, scrollbars=yes')})()

bunda1
Спасибо, этот код работает. Только получается при запуске браузера сами собой открываются все эти окошки с прошлого сеанса.
Причём открываются в полном размере, а не в том какой задан в коде. Окна пустые, а в адресной строке такого окна написано:
wyciwyg://<действительный адрес>

Как с этим бороться?

Отредактировано rbfyec (14-01-2013 00:49:44)

Отсутствует

 

№561914-01-2013 19:20:27

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

Re: Custom Buttons

rbfyec
У меня с твоим кодом такое не наблюдается и принципе используя Firegestures такое быть не может. Наверно браузер или какое то расширение пытается восстановить сессию или просто глючит. Надо просто по одному отключить все расширения + рестарт и когда эти окна не будут появляться ты найдешь виноватое расширение.

Отсутствует

 

№562014-01-2013 21:51:29

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

Re: Custom Buttons

Infocatcher

Хочу снова пожаловаться на Windows-Блокнот :)

скрытый текст
Жму кнопку Attributes Inspector
Жму Ctrl+Shift+C
В блокнотике жму Ctrl+V
Все атрибуты - одной строкой :(

h_1358185750_4213772_9b14ae3142.png

Вот так помогает:

Выделить код

Код:

copyTootipContent: function() {
            var node = this._node;
            var sourceWindow = node && (node.ownerDocument || node).defaultView;
            var tt = this.context.tt;
            var text = Array.map(tt.childNodes, function(node) {
                return node.textContent;
//            }).join("\n");
            }).join("\u000D\u000A");
...

Собственно вопрос:
Ожидаются ли какие-нибудь негативные последствия такого вмешательства,
или можно так оставить ?

Отредактировано Dumby (14-01-2013 21:55:31)

Отсутствует

 

№562115-01-2013 23:03:37

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

Re: Custom Buttons

Dumby
Может это тебе будет это интересно - я в четыре подхода по десять раз использовал оба варианта кода перевода  05-01-2013 10:26:34 и 09-01-2013 14:52:04 для перевода одного и того текст и потребление памяти возрастала одинаково а потом падала до изначального уровня.

Отредактировано bunda1 (15-01-2013 23:27:00)

Отсутствует

 

№562216-01-2013 12:41:54

fil
Участник
 
Группа: Members
Зарегистрирован: 14-10-2012
Сообщений: 18
UA: Firefox 18.0

Re: Custom Buttons

Здравствуйте !

Подскажите пожалуйста - как из JS осуществить построчное чтение текстового/INI файла ?

Отсутствует

 

№562316-01-2013 15:07:39

fil
Участник
 
Группа: Members
Зарегистрирован: 14-10-2012
Сообщений: 18
UA: Firefox 18.0

Re: Custom Buttons

Спасибо, видимо так и поступлю.

  Еще такой вопрос - скрипт нажимает кнопку и должен ожидать неких изменений (страница сменилась или там элемент какой появился). А вот как построить такое ожидание ? Цикл с таймером не подходит т.к. цикл вешает браузер.

Отсутствует

 

№562416-01-2013 18:16:05

fil
Участник
 
Группа: Members
Зарегистрирован: 14-10-2012
Сообщений: 18
UA: Firefox 18.0

Re: Custom Buttons

Вроде можно решить через временное модальное окно. Но надо подключать JQuery, а я не знаю как это сделать :angry: на скрипте

While (1) {

  $(function(){
      $(".box").dialog({modal:true});
   
       setTimeout(function(){ $(".box").remove()},3000);
})
if () {
   break ;
}
}

Отсутствует

 

№562516-01-2013 20:56:28

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

Re: Custom Buttons

bunda1 пишет

Может это тебе будет это интересно

Да-да, интересно. Тоже попробовал поэкспериментировать.

скрытый текст
Запуcкаю код, создающий сто документов, примерно по три мегабайта.
Память подскакивает и возвращается обратно.

Но если где-то «снаружи» сохранить ссылки на каждый документ - то 300 МБ ням-ням.

Наверное это то, о чём написано в книге на странице 73.

Отредактировано Dumby (16-01-2013 21:13:42)

Отсутствует

 

Board footer

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