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

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

№752620-02-2014 05:08:16

parnyagan
Участник
 
Группа: Members
Зарегистрирован: 06-11-2013
Сообщений: 14
UA: Firefox 24.0

Re: Custom Buttons

Здравствуйте, нашел у вас на форуме довольно удобную мне кнопку под названием "VT" (вертикальная панель) http://forum.mozilla-russia.org/viewtop … 73#p596373, хотелось бы для большего удобства, лично мне, сделать следующее:
При нажатии этой самой кнопки появляется вертикальная панель, на которую можно добавлять кнопки, НО когда эта самая панель вызывается, то открытая страница сужается по вертикали, соответственно когда еще раз кликаешь по кнопке, то панель пропадает и страница возвращается на свое место. Мне это не очень удобно.
Можно ли сделать так, чтобы при нажатии по этой кнопке, вертикальная панель появлялась как бы сверху страницы, закрывая собой часть отображаемой страницы?
Так же хочется чтобы она (вертикальная панель) появлялась справа а не слева.

Отредактировано parnyagan (20-02-2014 05:18:57)

Отсутствует

 

№752720-02-2014 15:18:15

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

Re: Custom Buttons

Pony_Smile_Pack пишет

Вот ещё разворачиватель комментариев(и он работает, в отличии от скрипта)
Livejournal Comments Expander

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

Lex1 пишет

Здесь нет таймаута, ведь функция вызывается немедленно, с переданным аргументом. Обычно используют замыкание: http://stackoverflow.com/questions/12451844/settimeout-with-arguments
Ну и innerText в фоксе вроде бы ещё не появился :)

Про замыкания я ниасилил :|
Скрипт переделал для того ЖЖ, который я чаще всего смотрю.

Выделить код

Код:

var commentboxes = document.querySelectorAll('a[onclick^="ExpanderEx.make"]');
 for (var z = 0; z < commentboxes.length; z++) {
    if (commentboxes[z].getAttribute('onclick') && ~commentboxes[z].getAttribute('onclick').indexOf('ExpanderEx.make') || ~commentboxes[z].textContent.indexOf('Expand')) 
       (function(commentbox){ commentbox.click(); })(commentboxes[z]);
}

И по-моему, можно даже условие удалить, хотя пока я его оставил.

Теперь комментарии раскрываются полностью, но пока раскроются, компьютер зависает минут на 5-7, нагрузка на процессор 100%
Немного помогает, если переключиться на другую вкладку, а потом обратно.

Что можно с этим сделать?

Отредактировано rbfyec (20-02-2014 19:21:45)

Отсутствует

 

№752820-02-2014 17:16:56

god_05
Участник
 
Группа: Members
Зарегистрирован: 15-02-2014
Сообщений: 135
UA: Firefox 27.0

Re: Custom Buttons

bunda1 пишет

god_05Ну тогда создай Custom Buttons кнопку с кодом:

Выделить код

Код:

document.getElementById("cmd_newNavigatorTab").doCommand();

И дублируй и размещай куда хочешь.

Благодарю! Получилось.

Отредактировано god_05 (20-02-2014 17:17:37)

Отсутствует

 

№752920-02-2014 20:25:14

Lex1
Участник
 
Группа: Members
Зарегистрирован: 07-07-2007
Сообщений: 260
UA: Firefox 27.0

Re: Custom Buttons

rbfyec пишет

Что можно с этим сделать?

Так очевидно:

Выделить код

Код:

javascript:(function(){
var commentboxes = document.querySelectorAll('a[onclick^="ExpanderEx.make"]');
 for (var z = 0; z < commentboxes.length; z++) {
    if (commentboxes[z].getAttribute('onclick') && ~commentboxes[z].getAttribute('onclick').indexOf('ExpanderEx.make') || ~commentboxes[z].textContent.indexOf('Expand')) 
       setTimeout( (function(box){ return function(){box.click()} })(commentboxes[z]), 500);
}
})()

Отсутствует

 

№753020-02-2014 20:57:39

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

Re: Custom Buttons

parnyagan пишет

нашел у вас на форуме довольно удобную мне кнопку под названием "VT" (вертикальная панель) ,
При нажатии этой самой кнопки появляется вертикальная панель, на которую можно добавлять кнопки, НО когда эта самая панель вызывается, то открытая страница сужается по вертикали, соответственно когда еще раз кликаешь по кнопке, то панель пропадает и страница возвращается на свое место. Мне это не очень удобно.

Вертикальная панель при появление появляется над текущей странице и если у тебя по другому то проблема не в кнопке. Может какое то расширение конфликтует.

Добавлено 20-02-2014 21:00:55

Так же хочется чтобы она (вертикальная панель) появлялась справа а не слева.

Где то в этой теме был код который перемещает вертикальную панель справа но похоже с глюкам и автор кнопки не мог тогда это исправить.

Отредактировано bunda1 (20-02-2014 21:00:55)

Отсутствует

 

№753120-02-2014 21:18:34

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 29.0
Веб-сайт

Re: Custom Buttons

parnyagan пишет

Так же хочется чтобы она (вертикальная панель) появлялась справа а не слева.

могу сказать что на 29-й она ещё и отвалится. Оригинальное расширение легкое (в стиле Infocatcher) + все это имеет. Хватает за глаза. :)
Vertical Toolbar :: Дополнения Firefox - Mozilla Add-ons


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№753220-02-2014 21:58:33

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

Re: Custom Buttons

Lex1 пишет

Так очевидно:

Выделить код

Код:

javascript:(function(){
var commentboxes = document.querySelectorAll('a[onclick^="ExpanderEx.make"]');
 for (var z = 0; z < commentboxes.length; z++) {
    if (commentboxes[z].getAttribute('onclick') && ~commentboxes[z].getAttribute('onclick').indexOf('ExpanderEx.make') || ~commentboxes[z].textContent.indexOf('Expand')) 
       setTimeout( (function(box){ return function(){box.click()} })(commentboxes[z]), 500);
}
})()

:(
Какой-либо разницы в работе по сравнению с этим кодом:

Выделить код

Код:

var commentboxes = document.querySelectorAll('a[onclick^="ExpanderEx.make"]');
 for (var z = 0; z < commentboxes.length; z++) {
    if (commentboxes[z].getAttribute('onclick') && ~commentboxes[z].getAttribute('onclick').indexOf('ExpanderEx.make') || ~commentboxes[z].textContent.indexOf('Expand')) 
       (function(commentbox){ commentbox.click(); })(commentboxes[z]);
}

я не заметил. При большом числе комментов на странице (около 600) так же подвисает на несколько минут.
Lex1, а в чём должно проявиться преимущество вашего кода?

Отсутствует

 

№753320-02-2014 23:04:22

Lex1
Участник
 
Группа: Members
Зарегистрирован: 07-07-2007
Сообщений: 260
UA: Firefox 27.0

Re: Custom Buttons

rbfyec

Это оригинальный код, так как он (вероятно) задумывался. setTimeout даёт некоторую асинхронность.
Что касается скорости, то с 500 комментами, браузер тормозит не больше пяти секунд, хотя подгружаются они полностью ещё секунд двадцать.

Отсутствует

 

№753420-02-2014 23:26:50

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

Re: Custom Buttons

Это наверно ещё и от железа зависит. У меня оно, мягко говоря, слабовато.

Спасибо за помощь!

Отсутствует

 

№753521-02-2014 09:50:03

parnyagan
Участник
 
Группа: Members
Зарегистрирован: 06-11-2013
Сообщений: 14
UA: Firefox 24.0

Re: Custom Buttons

feas
спасибо, воспользывался вашим советом, очень даже понравилась панелька!!!

Отсутствует

 

№753621-02-2014 23:47:57

parnyagan
Участник
 
Группа: Members
Зарегистрирован: 06-11-2013
Сообщений: 14
UA: Firefox 24.0

Re: Custom Buttons

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

Отсутствует

 

№753722-02-2014 22:27:21

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

Re: Custom Buttons

Вопрос знающим людям, как незаметно записать текст в вкладку Справка. Этот код к сожалению заставляет немного дёргатся кнопку при записи:

Выделить код

Код:

function saveDataToHelp( value ) {
   var link = custombuttons.makeButtonLink("update", _id );
   var param = custombuttons.cbService.getButtonParameters( link ).wrappedJSObject;
   param.help = value;         
   custombuttons.cbService.installButton( param );
};
saveDataToHelp('массив с доменами');

Отсутствует

 

№753823-02-2014 01:55:55

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

Re: Custom Buttons

bunda1 пишет

Вопрос знающим людям, как незаметно записать текст в вкладку Справка. Этот код к сожалению заставляет немного дёргатся кнопку при записи:

Если текст должен сохраниться после перезапуска, то нормальной альтернативы, кажется, нет. То есть можно, конечно, реализовать аналог того, что делается внутри Custom Buttons и сохранить данные в custombuttons/buttonsoverlay.xul вручную, но так лучше не делать – и кода много, и сломается все, если формат поменяется.


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

Отсутствует

 

№753923-02-2014 02:06:01

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

Re: Custom Buttons

Infocatcher
Понятно, жаль. Но может какой то Css код есть для маскировки дёргания кнопки при сохранения. Не знаю из за чего такое происходит может из за иницаилизации кнопки.

Отсутствует

 

№754023-02-2014 02:53:49

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

Re: Custom Buttons

bunda1 пишет

может из за иницаилизации кнопки.

Да, кнопка при этом переинициализируется.


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

Отсутствует

 

№754123-02-2014 21:33:18

parnyagan
Участник
 
Группа: Members
Зарегистрирован: 06-11-2013
Сообщений: 14
UA: Firefox 24.0

Re: Custom Buttons

okkamas_knife пишет

читай заглавный пост в готовых кнопках.
там всё написано

ок, с заменой разобрался, а где можно найти побольше иконок с прописанными к ним:
data:image/png;base64,iVBORw0KGgoAAAANSUhE...

Отсутствует

 

№754224-02-2014 00:02:31

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

Re: Custom Buttons

Может кому нужно, простая кнопка для выключения / включения JavaScript для текущего сайта, запоминает сайты на которых нужно отключить JavaScript. При нажатии кнопка перегружает текущую вкладку или все вкладки сайта что бы изменения вступили в силу, это можно переключить в коде инициализации кнопки var allTabsReload = true;. Список сайтов в также можно редактировать вручную в вкладке Справка кнопки.

Выделить код

Код:

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%3E%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20JavaScript%20%u0434%u043B%u044F%20%u0441%u0430%u0439%u0442%u0430%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAACQWzEUkFsxhJBbMaOQWzG2kFsxyZBbMdqQWzHrkFsx+pVhOf+aaUH/o3RP/62CX/+QWzHZkFsxNP///wD///8AlF8zaLiQbf/WuqP/38az/+fUw//u39P/9eri//v07//9+vb///79//vr3//77+b/wZ2A/5RfM2////8A////AJlkNonHpIX////////////////////////+/P/++/f//vfx//728f/krob/+ujb/86vlf+ZZDaL////AP///wCeaTlXnmk59rSFWf/ZpXv/2J5v/9ebav/YlmP/1pJd/9SPWf/Tjlf/4p1p//rj0f/Yu6L/nmk5nv///wD///8ApG88FKRvPKvVroz//fDl//fHov/3z63/+dW1//javf/43sL/+uHG//rkzP/99ez/4s66/6RvPLP///8A////AP///wCqdUAot4ZW//7+/f/63sL/+ty///nbwP/528D/+d3B//rbwP/63MP//eve/+zczf+qdUDK////AP///wD///8AsXtDHrmGUv/+/Pn/+dy///jbv//43MD/+dvC//ncwf/53cL/+t3D//vn1P/17eL/sXtD5P///wD///8A////ALeCRwm5hUv//vv3//ncwf/43L//+Ny///jbwP/53cD/+d3A//ndw//74sv//Pn1/7eCR/u3gkcB////AP///wD///8AvYhL+fz28P/538f/+dy9//rcv//628H/+t3D//rdwv/53cT/++DJ///8+v/BjVP/vYhLD////wD///8A////AMSOTtr159j/+uXS//navP/527z/+tu///rdwf/63cH/+d3E//vhyP///fv/yJRX/8SOThL///8A////AP///wDKlFK78NnB//vt4f/52sD/+dzC//nexf/64Mf/+uLK//rizf/65dD///79/8uPWv/KlFLxypRSRf///wD///8A0JpVpO3Qsv//9vD/+uHK//vjzP/749D/++bT//vp1f/86dj//Orb/////f/SnXH/7tnB/9CaVeX///8A////ANWfWJLryqX///37//3p1f/969j//erb//3t3//98OL//fHk//zw5P//////4KBw///7+f/fuIf/////AP///wDapFuE68aa///////87+L//fDn//3x6//99e7//fjx//369////Pr///////779//02sD/2qRb6v///wD///8A3qhdberAjP///////////////////////fn0//vz6v/469n/+ObT//Xfxv/py6b/3qhd7d6oXV3///8A////AOKsXzbirF/G6ryB/+i3d//msm3/5LBo/+KsX/DirF/j4qxfz+KsX8zirF+74qxfqOKsX0virF8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%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%20if%20%28%20e.button%20%29%20return%3B%0A%20%20%20%20%0A%20%20%20%20var%20currHost%20%3D%20content.document.domain%3B%0A%20%20%20%20var%20scriptEnabled%20%3D%20gBrowser.docShell.allowJavascript%3B%20//%20%u0442%u0435%u043A%u0443%u0449%u0435%u0435%20%u0441%u043E%u0441%u0442%u043E%u044F%u043D%u0438%u0435%20JavaScript%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%0A%20%20%20%20%0A%20%20%20%20saveTextToHelp%28%20currHost%2C%20scriptEnabled%20%29%3B%0A%20%20%20%20tabsReload%28%20false%2C%20currHost%2C%20%21scriptEnabled%20%29%3B%0A%7D%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0430%u0435%u043C%20%u0438%u0437%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%27%u0421%u043F%u0440%u0430%u0432%u043A%u0430%27%20%u043C%u0430%u0441%u0441%u0438%u0432%20%u0441%20%u0434%u043E%u043C%u0435%u043D%u0430%u043C%u0438%20..............%0Avar%20hosts%20%3D%20self.Help.split%28%27%5Cn%27%29.filter%28function%28host%29%20/%5CS/.test%28host%29%29.map%28function%28host%29%20host.trim%28%29%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0433%u0440%u0443%u0437%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0443%u044E%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%20%u0438%u043B%u0438%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0441%u0430%u0439%u0442%u0430%20%u0438%u043B%u0438%20%u0432%u0441%u0435%u0445%20%u0441%u0430%u0439%u0442%u043E%u0432%20%u0438%u0437%20%u043C%u0430%u0441%u0441%u0438%u0432%u0430%20..............%20%0Afunction%20tabsReload%28%20reason%2C%20currHost%2C%20scriptEnabled%20%29%20%7B%0A%20%20%20if%20%28%20reason%20%29%20scriptEnabled%20%3D%20%28reason%20%3D%3D%20%27update%27%29%20%3F%20false%20%3A%20true%3B%0A%20%20%20%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0433%u0440%u0443%u0437%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0443%u044E%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%20%u0435%u0441%u043B%u0438%20%u043B%u0435%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043D%u0430%20%u043A%u043D%u043E%u043F%u043A%u0435%0A%20%20%20if%20%28%20%21reason%20%29%20%7B%0A%20%20%20%20%20%20%20%20gBrowser.docShell.allowJavascript%20%3D%20scriptEnabled%3B%20%0A%20%20%20%20%20%20%20%20BrowserReload%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0433%u0440%u0443%u0437%u0438%u0442%u044C%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0441%u0430%u0439%u0442%u0430%20%u0438%u043B%u0438%20%u0432%u0441%u0435%u0445%20%u0441%u0430%u0439%u0442%u043E%u0432%20%u0438%u0437%20%u043C%u0430%u0441%u0441%u0438%u0432%u0430%20%u0435%u0441%u043B%u0438%20%u043A%u043B%u0438%u043A%u043D%u0443%u0442%u044C%20%u043D%u0430%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0435%0A%20%20%20var%20notification%20%20%3D%20reason%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20%27%u041F%u0435%u0440%u0435%u0433%u0440%u0443%u0437%u0438%u0442%u044C%20%u0432%u0441%u0435%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0441%u0430%u0439%u0442%u043E%u0432%20%u0438%u0437%20%u043C%u0430%u0441%u0441%u0438%u0432%u0430%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20%27%u041F%u0435%u0440%u0435%u0433%u0440%u0443%u0437%u0438%u0442%u044C%20%u0432%u0441%u0435%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0441%u0430%u0439%u0442%u0430%27%3B%20%0A%20%20%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%0A%20%20%20%20%20%20.showAlertNotification%28%20self.image%2C%20self.label%2C%20notification%2C%20true%2C%20%22%22%2C%20listener%2C%20%22%22%20%29%3B%0A%20%20%20%0A%20%20%20function%20listener%28subject%2C%20topic%2C%20data%29%20%7B%0A%20%20%20%20%20%20if%20%28%20topic%20%21%3D%3D%20%27alertclickcallback%27%29%20return%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20currTab%20%3D%20gBrowser.mCurrentTab%3B%0A%20%20%20%20%20%20Array.slice%28%20gBrowser.tabs%20%29.forEach%28function%28%20tab%20%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20var%20tabHost%20%3D%20tab.linkedBrowser.contentDocument.location.host%3B%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20tabHost%20%3D%3D%20%27%27%20%29%20return%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20var%20tabReload%20%3D%20reason%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20hosts.indexOf%28%20tabHost%20%29%20%21%3D%3D%20-1%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20tab%20%21%3D%3D%20currTab%20%26%26%20tabHost%20%3D%3D%20currHost%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20tabReload%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tab.linkedBrowser.docShell.allowJavascript%20%3D%20scriptEnabled%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gBrowser.reloadTab%28%20tab%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%29%0A%20%20%20%7D%0A%7D%3B%0AaddDestructor%28function%28reason%29%20tabsReload%28reason%29%20%29%3B%0A%0A%0A//%20%u0417%u0430%u043F%u0438%u0441%u0430%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%20%27%u0421%u043F%u0440%u0430%u0432%u043A%u0430%27%20..............%0Afunction%20saveTextToHelp%28%20currHost%2C%20addHost%20%29%20%7B%0A%20%20%20//%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u0438%u043B%u0438%20%u0434%u043E%u0431%u0430%u0432%u044B%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0438%u0439%20%u0441%u0430%u0439%u0442%20%u0432%20%u043C%u0430%u0441%u0441%u0438%u0432%20%u0441%20%u0434%u043E%u043C%u0435%u043D%u0430%u043C%u0438%0A%20%20%20addHost%0A%20%20%20%3F%20hosts.push%28%20currHost%20%29%20%20%20%20%20%0A%20%20%20%3A%20hosts%20%3D%20hosts.filter%28function%28host%29%20%7B%20return%20%28%20host%20%21%3D%3D%20currHost%20%29%20%7D%29%20%20%20%0A%20%20%20var%20value%20%3D%20hosts.join%28%22%5Cn%22%29%3B%0A%0A%20%20%20//%20%u0437%u0430%u043F%u0438%u0441%u0430%u0442%u044C%20%u043C%u0430%u0441%u0441%u0438%u0432%0A%20%20%20var%20dir%20%3D%20Services.dirsvc.get%28%22ProfD%22%2C%20Ci.nsIFile%29%3B%0A%20%20%20dir.initWithPath%28dir.path%20+%20%22%5C%5Cextensions%5C%5Ccustombuttons@xsms.org%5C%5Ccomponents%5C%5CCustomButtonsService.js%22%29%3B%0A%20%20%20var%20url%20%3D%20Services.io.newFileURI%28dir%29.spec%2C%20cbs%20%3D%20%7B%7D%3B%0A%20%20%20Services.scriptloader.loadSubScript%28url%2C%20cbs%29%3B%0A%20%20%20var%20AO%20%3D%20%20new%20cbs.AppObject%28%29%2C%20btn%20%3D%20AO.getButton%28_id%29%3B%0A%0A%20%20%20self.setAttribute%28%22Help%22%2C%20value%20%29%3B%0A%20%20%20btn.setAttribute%28%22Help%22%2C%20value%20%29%3B%0A%20%20%20AO.overlay.saveOverlayToProfile%28%29%3B%20%20%20%0A%7D%3B%0A%0A%0A//%20%u041E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0441%u043B%u0435%u0434%u0438%u0442%20%u0437%u0430%20%u0438%u0437%u043C%u0438%u043D%u0435%u043D%u0438%u044F%u043C%u0438%20%u0442%u0430%u0431%u043E%u0432%20%u0438%20%u0437%u0430%u043F%u0443%u0441%u043A%u0430%u044E%u0442%20%u043D%u0443%u0436%u043D%u044B%u0435%20%u043A%u043E%u0434%u044B%20%u0438%20%u0444%u0443%u043D%u043A%u0446%u0438%u0438%20..............%0AaddEventListener%28%22TabAttrModified%22%2C%20function%28e%29%20%7B%0A%20%20%20var%20tab%20%3D%20e.target.linkedBrowser%3B%20%20%20%0A%0A%20%20%20//%20%u043E%u0442%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20JavaScript%20%u0434%u043B%u044F%20%u0441%u0430%u0439%u0442%u0430%20%u0435%u0441%u043B%u0438%20%u0434%u043E%u043C%u0435%u043D%20%u0441%u0430%u0439%u0442%u0430%20%u0441%u043E%u0432%u043F%u0430%u0434%u0430%u0435%u0442%20%u0441%20%u043C%u0430%u0441%u0441%u0438%u0432%u043E%u043C%20%27hosts%27%0A%20%20%20var%20specifiedSite%20%3D%20hosts.indexOf%28%20tab.contentDocument.location.host%20%29%20%21%3D%3D%20-1%3B%20%0A%20%20%20tab.docShell.allowJavascript%20%3D%20%21specifiedSite%3B%0A%0A%20%20%20//%20%u0435%u0441%u043B%u0438%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u043E%u0442%u043A%u043B%u044E%u0447%u0435%u043D%20JavaScript%20%u043C%u0435%u043D%u044F%u0435%u043C%20%u0438%u043A%u043E%u043D%u043A%u0443%0A%20%20%20if%20%28%20tab.currentURI.spec%20%3D%3D%20gBrowser.currentURI.spec%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20self.style.filter%20%3D%20specifiedSite%20%7C%7C%20%21cbu.getPrefs%28%22javascript.enabled%22%29%20%0A%20%20%20%20%20%20%20%20%3F%20%27url%28%22chrome%3A//mozapps/skin/extensions/extensions.svg%23greyscale%22%29%27%20%0A%20%20%20%20%20%20%20%20%3A%20%27%27%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%2C%20true%2C%20gBrowser.tabContainer%20%29%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%5Bwww.russia.ru%0Alib.rus.ec%0Acustombuttons.sourceforge.net%0Aaddons.mozilla.org%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отредактировано bunda1 (01-03-2014 01:51:40)

Отсутствует

 

№754328-02-2014 23:29:08

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 25.0

Re: Custom Buttons

У меня есть код:

Выделить код

Код:

addEventListener('mousedown', function(e){
 id=setTimeout(function(){
   //......................... 
    }, 800);

    f()

 });   

 function f() { 
   //......................... 
   }
   

addEventListener('mouseup', function(){ 
custombuttons.alertSlide(id, " ");
clearTimeout(id);
 })

Что за число видно на слайдере?
При каждом клике оно растёт. Значит ли это, таймеры по событию mouseup не удаляются, как было задумано?

Отредактировано Чайник (28-02-2014 23:36:08)

Отсутствует

 

№754401-03-2014 00:37:12

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

Re: Custom Buttons

Чайник пишет

Что за число видно на слайдере?
При каждом клике оно растёт. Значит ли это, таймеры по событию mouseup не удаляются, как было задумано?

Число на слайдере наверно идентификатор таймера для браузера. И правильно будет var id или self.id и лучше использовать другую переменную а не то id водит в заблуждения.
И возможно таймеры по событию mouseup не удаляются я с таким уже сталкивался и это можно проверить вот так:

Выделить код

Код:

id=setTimeout(function(){
   alert('');
    }, 800);

Отредактировано bunda1 (01-03-2014 00:42:28)

Отсутствует

 

№754501-03-2014 15:13:47

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 25.0

Re: Custom Buttons

okkamas_knife пишет

по моему там какаято бредятина написана(по крайней мере на мой взгляд).

ну почему бредятина?
Мне нужно, чтобы при нажатии ЛКМ (mousedown) включился таймер и через 0,8 сек. он запустит некую функцию.
Но если ЛКМ будет отпущена (mouseup) раньше, чем прошло 0,8 сек. - функция не должна быть запущена и сам таймер должен быть удалён.

Вот что я прочитал и меня это насторожило:
Весьма желательно запоминать все идентификаторы таймаутов, и после их срабатывания вызывать clearTimeout, иначе, после срабатывания большого количества таймаутов (~тысяч, в зав-ти от браузера) браузер начинает жутко тормозить - видать утекают какие-то ресурсы.

Вот я и хотел проверить, а действительно ли таймер удаляется и для этого вставил в код слайдер. Я думал что слайдер покажет true если таймер есть и false (или null) если его нет.

bunda1 пишет

и лучше использовать другую переменную а не то id водит в заблуждения.

id - это конечно написано от фонаря, на самом деле идентификатор у таймаута другой.

bunda1 пишет

И возможно таймеры по событию mouseup не удаляются я с таким уже сталкивался и это можно проверить вот так:

Выделить код

Код:

id=setTimeout(function(){
   alert('');
    }, 800);

Я не понял, а о чём тут должно говорить появление алерта или его отсутствие?

Отсутствует

 

№754602-03-2014 09:10:03

beggrr
Участник
 
Группа: Members
Зарегистрирован: 04-02-2014
Сообщений: 128
UA: Firefox 25.0

Re: Custom Buttons

Есть возможность отследить выделение или снятие выделения с конкретного элемента, наподобие как onselect и onblur, но не в текстовом поле?
Скажем текст в диве или спане?

Отсутствует

 

№754702-03-2014 13:24:00

Iczer
Участник
 
Группа: Members
Зарегистрирован: 25-08-2007
Сообщений: 63
UA: Firefox 10.0

Re: Custom Buttons

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

Отсутствует

 

№754802-03-2014 14:49:22

Pony_Smile_Pack
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 1144
UA: Firefox 27.0

Re: Custom Buttons

Iczer пишет

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

Лучше подчистить контексное меню и переместить копировать ссылку на изображение вверх

скрытый текст
4986614m.jpg 5038601m.jpg

Отсутствует

 

№754902-03-2014 17:30:07

Iczer
Участник
 
Группа: Members
Зарегистрирован: 25-08-2007
Сообщений: 63
UA: Firefox 10.0

Re: Custom Buttons

Pony_Smile_Pack пишет
Iczer пишет

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

Лучше подчистить контексное меню и переместить копировать ссылку на изображение вверх

Это да :) но всё же

Отсутствует

 

№755002-03-2014 20:21:02

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 25.0

Re: Custom Buttons

okkamas_knife благодарю, буду разбираться.


Iczer пишет

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

Что-то вроде этого в инициализацию

Выделить код

Код:

var tmr;
function time(e) {
  var img = e.target; 
  if (img.nodeName != "IMG") return;
  
  tmr = setTimeout(function() {
    gClipboard.write(img.src);
    custombuttons.alertSlide(img.src, "скопировано в буфер")
    }, 2000);
    
}
addEventListener('mouseover', time);

addEventListener('mouseout', function() {clearTimeout(tmr)})

Отсутствует

 

Board footer

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