Здравствуйте, нашел у вас на форуме довольно удобную мне кнопку под названием "VT" (вертикальная панель) http://forum.mozilla-russia.org/viewtop … 73#p596373, хотелось бы для большего удобства, лично мне, сделать следующее:
При нажатии этой самой кнопки появляется вертикальная панель, на которую можно добавлять кнопки, НО когда эта самая панель вызывается, то открытая страница сужается по вертикали, соответственно когда еще раз кликаешь по кнопке, то панель пропадает и страница возвращается на свое место. Мне это не очень удобно.
Можно ли сделать так, чтобы при нажатии по этой кнопке, вертикальная панель появлялась как бы сверху страницы, закрывая собой часть отображаемой страницы?
Так же хочется чтобы она (вертикальная панель) появлялась справа а не слева.
Отредактировано parnyagan (20-02-2014 05:18:57)
Отсутствует
Вот ещё разворачиватель комментариев(и он работает, в отличии от скрипта)
Livejournal Comments Expander
Расширение ради этого я ставить не хочу, хотелось бы обойтись кнопкой, букмарклетом, скриптом и т.д.
Здесь нет таймаута, ведь функция вызывается немедленно, с переданным аргументом. Обычно используют замыкание: 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)
Отсутствует
god_05Ну тогда создай Custom Buttons кнопку с кодом:
И дублируй и размещай куда хочешь.
Благодарю! Получилось.
Отредактировано god_05 (20-02-2014 17:17:37)
Отсутствует
Что можно с этим сделать?
Так очевидно:
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); } })()
Отсутствует
нашел у вас на форуме довольно удобную мне кнопку под названием "VT" (вертикальная панель) ,
При нажатии этой самой кнопки появляется вертикальная панель, на которую можно добавлять кнопки, НО когда эта самая панель вызывается, то открытая страница сужается по вертикали, соответственно когда еще раз кликаешь по кнопке, то панель пропадает и страница возвращается на свое место. Мне это не очень удобно.
Вертикальная панель при появление появляется над текущей странице и если у тебя по другому то проблема не в кнопке. Может какое то расширение конфликтует.
Добавлено 20-02-2014 21:00:55
Так же хочется чтобы она (вертикальная панель) появлялась справа а не слева.
Где то в этой теме был код который перемещает вертикальную панель справа но похоже с глюкам и автор кнопки не мог тогда это исправить.
Отредактировано bunda1 (20-02-2014 21:00:55)
Отсутствует
Так же хочется чтобы она (вертикальная панель) появлялась справа а не слева.
могу сказать что на 29-й она ещё и отвалится. Оригинальное расширение легкое (в стиле Infocatcher) + все это имеет. Хватает за глаза.
Vertical Toolbar :: Дополнения Firefox - Mozilla Add-ons
Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.
Отсутствует
Так очевидно:
Выделить кодКод:
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, а в чём должно проявиться преимущество вашего кода?
Отсутствует
rbfyec
Это оригинальный код, так как он (вероятно) задумывался. setTimeout даёт некоторую асинхронность.
Что касается скорости, то с 500 комментами, браузер тормозит не больше пяти секунд, хотя подгружаются они полностью ещё секунд двадцать.
Отсутствует
хотелось бы еще узнать как менять иконки кнопок, т.е. в каком формате иконки должны быть, какого размера, где должны лежать и т.д....разъясните плиз, просто я первый раз с этим столкнулся и с ходу заинтересовался ими, так как функционал с их помощью можно повысить довольно таки хорошо.
Отсутствует
Вопрос знающим людям, как незаметно записать текст в вкладку Справка. Этот код к сожалению заставляет немного дёргатся кнопку при записи:
function saveDataToHelp( value ) { var link = custombuttons.makeButtonLink("update", _id ); var param = custombuttons.cbService.getButtonParameters( link ).wrappedJSObject; param.help = value; custombuttons.cbService.installButton( param ); }; saveDataToHelp('массив с доменами');
Отсутствует
Вопрос знающим людям, как незаметно записать текст в вкладку Справка. Этот код к сожалению заставляет немного дёргатся кнопку при записи:
Если текст должен сохраниться после перезапуска, то нормальной альтернативы, кажется, нет. То есть можно, конечно, реализовать аналог того, что делается внутри Custom Buttons и сохранить данные в custombuttons/buttonsoverlay.xul вручную, но так лучше не делать – и кода много, и сломается все, если формат поменяется.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher
Понятно, жаль. Но может какой то Css код есть для маскировки дёргания кнопки при сохранения. Не знаю из за чего такое происходит может из за иницаилизации кнопки.
Отсутствует
может из за иницаилизации кнопки.
Да, кнопка при этом переинициализируется.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
читай заглавный пост в готовых кнопках.
там всё написано
ок, с заменой разобрался, а где можно найти побольше иконок с прописанными к ним:
data:image/png;base64,iVBORw0KGgoAAAANSUhE...
Отсутствует
Может кому нужно, простая кнопка для выключения / включения 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)
Отсутствует
У меня есть код:
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)
Отсутствует
Что за число видно на слайдере?
При каждом клике оно растёт. Значит ли это, таймеры по событию mouseup не удаляются, как было задумано?
Число на слайдере наверно идентификатор таймера для браузера. И правильно будет var id или self.id и лучше использовать другую переменную а не то id водит в заблуждения.
И возможно таймеры по событию mouseup не удаляются я с таким уже сталкивался и это можно проверить вот так:
Отредактировано bunda1 (01-03-2014 00:42:28)
Отсутствует
по моему там какаято бредятина написана(по крайней мере на мой взгляд).
ну почему бредятина?
Мне нужно, чтобы при нажатии ЛКМ (mousedown) включился таймер и через 0,8 сек. он запустит некую функцию.
Но если ЛКМ будет отпущена (mouseup) раньше, чем прошло 0,8 сек. - функция не должна быть запущена и сам таймер должен быть удалён.
Вот что я прочитал и меня это насторожило:
Весьма желательно запоминать все идентификаторы таймаутов, и после их срабатывания вызывать clearTimeout, иначе, после срабатывания большого количества таймаутов (~тысяч, в зав-ти от браузера) браузер начинает жутко тормозить - видать утекают какие-то ресурсы.
Вот я и хотел проверить, а действительно ли таймер удаляется и для этого вставил в код слайдер. Я думал что слайдер покажет true если таймер есть и false (или null) если его нет.
и лучше использовать другую переменную а не то id водит в заблуждения.
id - это конечно написано от фонаря, на самом деле идентификатор у таймаута другой.
И возможно таймеры по событию mouseup не удаляются я с таким уже сталкивался и это можно проверить вот так:
Я не понял, а о чём тут должно говорить появление алерта или его отсутствие?
Отсутствует
Отсутствует
Iczer пишетПодскажите - как получить в буфер обмена ссылку на картинку, если курсор мыши задержался на ней на более чем на пару секунд?
Лучше подчистить контексное меню и переместить копировать ссылку на изображение вверх
Это да но всё же
Отсутствует
okkamas_knife благодарю, буду разбираться.
Подскажите - как получить в буфер обмена ссылку на картинку, если курсор мыши задержался на ней на более чем на пару секунд?
Что-то вроде этого в инициализацию
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)})
Отсутствует