А я думал что ты забил об этом
Даже и надейся, что забуду, на данный момент, это моя самая желанная кнопочка.
Infocatcher пишет:
Вот пример:
Еще спасибо, это просто праздник какой-то !
Надеюсь, теперь праздник и ко мне придёт?
Отсутствует
Ребята, а может кто сделать кнопку "Временно разрешить" вместо стандартной, просто эта блямба у меня убрана из адресной строки, а иногда нужна для включения плагина.
http://s020.radikal.ru/i716/1311/65/0662aec771a3t.jpg
Удобно этот стиль (убирающий блямбу) просто отключать, и всё.
Отсутствует
bunda1
Click to Play per-element у меня стоит, но например на этом сайте
http://www.allmusic.com/album/pelle-gudmundsen-holmgreen-plateaux-pour-piano-et-orchestre-hybrid-sacd-mw0001406175#no-js
пока на Временно разрешить не нажмешь не играет, все плагины стоят Всегда включать
Pony_Smile_Pack
Я не пользуюсь Stylish постоянно, зачем лишнее расширение держать если через userChrome.css всё работает.
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
Мастера, очень хотелось бы иметь кнопочку автозаполнения, чтобы в контекстном меню появилась строчка "Мои данные", а в ней выпадающим списком можно было бы внести штук шесть емайл адресов, свой ник, скайп. Помните как было в Опера Формы личных данных, я туда просто вписывал нужную информацию и все прекрасно работало и вставлялось в любое окошко
Я пробовал пару расширений но там все так заумно и так всего много, что очень неудобно.
Примерно вот так http://SSMaker.ru/9a7684ed/
Может быть кто нибудь возьмется сделать? В теме готовых кнопок подобного не нашел.
Отсутствует
villi311
Я для этих же целей пользую InFormEnter.По-моему проще уже некуда-записал свои данные,в форме тыкаешь на стрелочку и вставляешь нужное.
Отсутствует
villi311Я для этих же целей пользую InFormEnter.По-моему проще уже некуда-записал свои данные,в форме тыкаешь на стрелочку и вставляешь нужное.
Отлично. То что надо. Огромное спасибо.
Отсутствует
доброго! все 319 страниц пока не осилил (сейчас на 229-ой), а поиск готового решения не выдал, поэтому попрошу помощи. Надыбал в теме код для инициализации
//Если открыта новая пустая вкладка, то загружать страницу в ней if( ( gBrowser.currentURI.spec == "about:blank" || gBrowser.currentURI.spec == "chrome://fastdial/content/fastdial.html" || gBrowser.currentURI.spec == cbu.getPrefs("browser.newtab.url") ) && !gBrowser.selectedBrowser.webProgress.isLoadingDocument ) loadURI(pageURL); else gBrowser.selectedTab = gBrowser.addTab(pageURL);
Если его подставить к любой кнопке, то кнопка становится как-бы неактивной, хотя сама по себе остаётся кликабельной и рабочей. Получается, что в этом коде ошибка или неправильно применяется, т.е. код не полный и требует использования в определённых условиях?
Я хочу добиться того, чтобы данный код отслеживал именно описанную в комментарии ситуацию - если открыта пустая вкладка (в моём случае это ещё и вкладка с Fast Dial), то страница должна загружаться именно в этой пустой вкладке.
Так сказать, ищем способы получить аналог TU/TMP на кнопках, что почти удалось.
Отредактировано >ORG@niZM< (12-11-2013 13:19:58)
Отсутствует
villi311
Если не понравится стандартная кнопка вставки,то можно стилем подправить это дело.
InFormEnter - New icon
Отсутствует
>ORG@niZM<
загляни в сниппеты №9
и посмотри на синтаксис конструкции if
и сравни со своим кодом - сразу увидишь что не так.
..............................................
ага, фигурные скобочки отсутствуют
okkamas_knife, но ведь если код /что делать/ занимает одну строку, то фигурные скобки необязательны? Или не?
А кнопка, в которую добавлен этот код, действительно "становится как-бы неактивной", если не вставить вместо pageURL желаемый адрес.
Ну и в консоли конечно будет ReferenceError: pageURL is not defined
Отредактировано rbfyec (12-11-2013 14:38:39)
Отсутствует
//Если открыта новая пустая вкладка, то загружать страницу в ней if ( ( gBrowser.currentURI.spec == "about:blank" || gBrowser.currentURI.spec == cbu.getPrefs("browser.newtab.url") ) && !gBrowser.selectedBrowser.webProgress.isLoadingDocument ){ loadURI(pageURL);} else { gBrowser.selectedTab = gBrowser.addTab(pageURL); };
так работает, но кнопка, в которой лежит код, "бледная"
а в консоли только
Ошибка: ReferenceError: pageURL is not defined Источник: chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button59@init Строка: 5
я так понимаю pageURL это не предопределённая переменная, т.е. её значение ещё нужно получить? но тогда почему код работает?
Отредактировано >ORG@niZM< (12-11-2013 15:28:16)
Отсутствует
зачем экспериментировать если можно использовать стандартное написание которое будет точно работать везде и всегда а не при определённых условиях типа записи в одну строчку итд?
мы ж не программеры чтоб выпендриваться с красотами нам нужен простой и понятный работающий код.
Это да, я просто к тому, что у ORG@niZM кнопка становится бледной не из-за фигурных скобок.
но тогда почему код работает?
Что именно "работает"? Продолжает работать код кнопки до того места, где вставлен этот сниппет.
А сам сниппет не будет работать, если не присвоить переменной pageURL какое-то значение (адрес, который мы хотим открывать).
Отредактировано rbfyec (12-11-2013 16:02:07)
Отсутствует
rbfyec
работает так: открываем новый таб, вводим адрес в адресной строке, энтер - грузит именно в этом табе. Без этого кода - открывает в новом.
Кстати, код вставляю в одну из кнопок, в которой инициализация пустая.
Добавлено 12-11-2013 16:21:42
вообще не хотел разводить кипиш, пока тему не дочитаю, но раз уж начал, то тут мой "тихий ужас" (форум не может даже пост с таким кодом принять). Кнопка создана для вывода названия текущей страницы на панель, где располагаются другие кнопки, а так же для сосредоточения полезного кода-инициализации.
Отредактировано >ORG@niZM< (12-11-2013 16:23:44)
Отсутствует
okkamas_knife
В общем, чего я хотел добиться: если открыта пустая вкладка, то вводимый в адресную строку адрес открывает страницу в текущей вкладке. Взял
// Bookmarks/History/Homepage/URL/Search открывать в новой вкладке ...................................... eval("whereToOpenLink = " + whereToOpenLink.toString() .replace(/return "current";/g, "{"+(function() { var node = e && e.originalTarget; while (node) { switch (node.id) { case "bookmarksMenuPopup": case "goPopup": case "appmenu_bookmarksPopup": case "appmenu_historyMenupopup": case "personal-bookmarks": case "bookmarks-menu-button": case "historymenu_history": case "home-button": case "page-proxy-stack": case "go-button": case "urlbar-go-button": case "PopupAutoCompleteRichResult": case "searchbar": case "PopupAutoComplete": return "tab"; } node = node.parentNode; } return "current"; }).toString().replace(/^.*{|}$/g, "")+"}") ); //Bookmarklet eval("openLinkIn = " + openLinkIn.toString() .replace(/(?=if \(where == "save"\))/, 'if (url.substr(0, 11) == "javascript:") where = "current";') .replace(/(?=var loadInBackground)/, 'if (w.gBrowser.currentURI.spec == "about:blank" && !w.gBrowser.mCurrentTab.hasAttribute("busy")) where = "current";') ); // document.getElementById("sidebar-box").addEventListener("load", function(event) { var document = event.target; if (document.location == "chrome://browser/content/bookmarks/bookmarksPanel.xul" || document.location == "chrome://browser/content/history/history-panel.xul") { eval("document.defaultView.whereToOpenLink = " + document.defaultView.whereToOpenLink.toString() .replace(/return "current";/g, 'return "tab";') ); eval("document.defaultView.openLinkIn = " + document.defaultView.openLinkIn.toString() .replace(/(?=if \(where == "save"\))/, 'if (url.substr(0, 11) == "javascript:") where = "current";') .replace(/(?=var loadInBackground)/, 'if (w.gBrowser.currentURI.spec == "about:blank" && !w.gBrowser.mCurrentTab.hasAttribute("busy")) where = "current";') ); } }, true); // eval("gURLBar.handleCommand = " + gURLBar.handleCommand.toString() .replace(/aTriggeringEvent\s*&&\s*aTriggeringEvent.altKey/, "!($&)") .replace("aTriggeringEvent.preventDefault();", "") .replace("aTriggeringEvent.stopPropagation();", "") );
и заменил
на
(w.gBrowser.currentURI.spec == "about:blank" || w.gBrowser.currentURI.spec == "chrome://fastdial/content/fastdial.html")
.
Не пашет. Менял и все вхождения, и по одиночке.
Отредактировано >ORG@niZM< (12-11-2013 19:51:04)
Отсутствует
а сделав самостоятельно свою первую кнопку вы осознаете возможности свои и СВ и возможно вам захочется ещё вкусных плюшек с отсутствием которых вы долгое время мирились.
Вы абсолютно правы, но я про кнопки то узнал всего несколько дней назад, так что пока это не мой уровень, хотя я обязательно буду пробовать, так как все это довольно интересно и очень расширяет функционал.
Пока пробую просто немного переделывать их под себя.
зы кстати а чем не устроила эта кнопка?№180
Не сработала смекалка. Действительно эта кнопка практически то что мне нужно, вот только без контекстного меню. Буду пробовать вышеописанное вами.
Подскажите, а вот сниппеты эти где брать?
Отсутствует
заменил
на
Выделить кодКод:
(w.gBrowser.currentURI.spec == "about:blank" || w.gBrowser.currentURI.spec == "chrome://fastdial/content/fastdial.html").
Не пашет. Менял и все вхождения, и по одиночке.
Не там менял я думаю надо менять что то в gURLBar.handleCommand. Посмотри тут userChrome.js/opennewtab/OpenNewTab.uc.js at master · ardiman/userChrome.js · GitHub
Отсутствует
Не могу понять... Почему не работает простейшая вещь. На этой странице:
H2 = document.getElementsByTagName('h2')[4]; H2.style.border = "2px red solid"; // Просто чтоб его видно было H2.onclick=function(event) { if (event.button==2) { alert(event.button) } }
Если написать if (event.button==0) то работает.
Или если совсем выбросить условие - тогда по умолчанию event.button будет тоже ЛКМ - тоже работает.
Почему не работает ни event.button==2, ни event.button==1?
Отредактировано toxa (15-11-2013 14:26:57)
Отсутствует
toxa
Используйте onmousedown/mouseup
http://learn.javascript.ru/mouse-clicks
___________
И перезаписывать обработчик на странице следует только при явной необходимости.
Отредактировано Lex1 (15-11-2013 17:03:36)
Отсутствует
Но почему не срабатывает onclick??
В каких случаях он перестаёт работать и надо использовать другое событие?
И перезаписывать обработчик на странице следует только при явной необходимости.
Что значит ПЕРЕзаписывать? На этой странице обработчика на Н2 никакого не было, это я прицепил чисто для иллюстрации.
Отсутствует
toxa
На этой странице:
alert( document.getElementsByTagName('h2')[4] ); // = undefined alert( content.document.getElementsByTagName('h2')[4] ); // = [object XPCNativeWrapper [object HTMLHeadingElement]]
Добавлено 15-11-2013 20:08:48
H2.addEventListener("mousedown", function(e) { e.preventDefault(); e.stopPropagation(); alert( e.button ); }, true );
Добавлено 15-11-2013 20:11:13
Наверно на странице по умолчанию при клике правой кнопкой мыши браузер показывает свое контекстное меню.
Отредактировано bunda1 (15-11-2013 20:11:13)
Отсутствует
toxa
onclick гарантированно работает только для лкм. Для пкм обычно используют oncontextmenu или mousedown.
На этой странице обработчика на Н2 никакого не было
Каждый раз проверять это несколько непрактично
Отсутствует
СПАСИБО!
=========================
toxa
На этой странице:Выделить кодКод:
alert( document.getElementsByTagName('h2')[4] ); // = undefined alert( content.document.getElementsByTagName('h2')[4] ); // = [object XPCNativeWrapper [object HTMLHeadingElement]]
У меня в обоих случаях на алерте [object HTMLHeadingElement]
Отсутствует
Я использую этот кусочек кода чтобы все открывалось в новых вкладках.
// Bookmarks/History/Homepage/URL/Search открывать в новой вкладке ...................................... eval("whereToOpenLink = " + whereToOpenLink.toString() .replace(/return "current";/g, "{"+(function() { var node = e && e.originalTarget; while (node) { switch (node.id) { case "bookmarksMenuPopup": case "goPopup": case "appmenu_bookmarksPopup": case "appmenu_historyMenupopup": case "personal-bookmarks": case "bookmarks-menu-button": case "historymenu_history": case "home-button": case "page-proxy-stack": case "go-button": case "urlbar-go-button": case "PopupAutoCompleteRichResult": case "searchbar": case "PopupAutoComplete": case "chrome://browser/content/places/places.xul": return "tab"; } node = node.parentNode; } return "current"; }).toString().replace(/^.*{|}$/g, "")+"}") ); //Bookmarklet eval("openLinkIn = " + openLinkIn.toString() .replace(/(?=if \(where == "save"\))/, 'if (url.substr(0, 11) == "javascript:") where = "current";') .replace(/(?=var loadInBackground)/, 'if (w.gBrowser.currentURI.spec == "about:blank" && !w.gBrowser.mCurrentTab.hasAttribute("busy")) where = "current";') ); // document.getElementById("sidebar-box").addEventListener("load", function(event) { var document = event.target; if (document.location == "chrome://browser/content/bookmarks/bookmarksPanel.xul" || document.location == "chrome://browser/content/history/history-panel.xul") { eval("document.defaultView.whereToOpenLink = " + document.defaultView.whereToOpenLink.toString() .replace(/return "current";/g, 'return "tab";') ); eval("document.defaultView.openLinkIn = " + document.defaultView.openLinkIn.toString() .replace(/(?=if \(where == "save"\))/, 'if (url.substr(0, 11) == "javascript:") where = "current";') .replace(/(?=var loadInBackground)/, 'if (w.gBrowser.currentURI.spec == "about:blank" && !w.gBrowser.mCurrentTab.hasAttribute("busy")) where = "current";') ); } }, true); // eval("gURLBar.handleCommand = " + gURLBar.handleCommand.toString() .replace(/aTriggeringEvent\s*&&\s*aTriggeringEvent.altKey/, "!($&)") .replace("aTriggeringEvent.preventDefault();", "") .replace("aTriggeringEvent.stopPropagation();", "") );
1. Ссылки из библиотеки - закладки и журнал - открываются в текущей вкладке. Как бы в этот код что-то добавить, чтоб это обойти?
2. Иногда бывает, после интенсивного серфинга начинает косячить: в основном всё продолжает открываться в новых табах, но если написать адрес и нажать Энтер (именно клавишу), адрес открывается в текущем. А если кликнуть стрелку "Go" в адресной строке - то в новом табе.
Кто с этим сталкивался?
Отсутствует