Может тут поищи ardiman/userChrome.js · GitHub
Нет, я оттуда скрипт Open New Tab раньше пробовал, не понравился он мне.
Вот если б этот что у меня допилить. Всего-то нужно ссылки из библиотеки открывать в новых табах.
Но я не сделаю...
Upd
Я нашёл там ещё сниппет, который по идее должен делать то что мне нужно https://github.com/ardiman/userChrome.j … Plus.uc.js
(function() { /* Lesezeichen und Chronik */ try { eval('openLinkIn = ' + openLinkIn.toString(). replace('w.gBrowser.selectedTab.pinned', '(!w.isTabEmpty(w.gBrowser.selectedTab) || $&)'). replace(/&&\s+w\.gBrowser\.currentURI\.host != uriObj\.host/, '')); }catch(e){} })();
Но он для ФФ 20 и у меня на ФФ 25 не работает.
Отредактировано rbfyec (16-11-2013 20:53:38)
Отсутствует
bunda1, в последнее время кнопка Drag and go Modoki ведет себя неправильно, раньше подсказка к выполняемому жесту появлялась в нижнем левом углу экрана, а теперь появляется в аддонбаре, но т.к. аддонбар у меня в адресной строке, то и подсказка появляется там же.
Все это приводит к этому:
И к тому же постоянно висит прозрачный элемент:
который иногда заскакивает между другими кнопками и все это выглядит не очень то и хорошо
Отсутствует
Я использую этот кусочек кода чтобы все открывалось в новых вкладках.
Очень удобно, но есть 2 минуса.
1. Ссылки из библиотеки - закладки и журнал - открываются в текущей вкладке. Как бы в этот код что-то добавить, чтоб это обойти?
2. Иногда бывает, после интенсивного серфинга начинает косячить: в основном всё продолжает открываться в новых табах, но если написать адрес и нажать Энтер (именно клавишу), адрес открывается в текущем. А если кликнуть стрелку "Go" в адресной строке - то в новом табе.
Кто с этим сталкивался?
Похоже что тут ничего не допишешь эти коды не реагируют на открытие из библиотеки.
Добавлено 16-11-2013 21:12:21
[
Я нашёл там ещё сниппет, который по идее должен делать то что мне нужно https://github.com/ardiman/userChrome.j … Plus.uc.js
Сейчас посмотрю.
Отредактировано bunda1 (16-11-2013 21:12:41)
Отсутствует
// Открывать в новой вкладке ...................................... (function () { 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, "")+"}") ); 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";') ); eval("PlacesUIUtils._openNodeIn=" + PlacesUIUtils._openNodeIn.toString().replace('{', '{\naWhere = (aWhere == "tab") ? "current" : "tab";') ); })();
Отредактировано bunda1 (16-11-2013 22:02:20)
Отсутствует
bunda1, в последнее время кнопка Drag and go Modoki ведет себя неправильно, раньше подсказка к выполняемому жесту появлялась в нижнем левом углу экрана, а теперь появляется в аддонбаре, но т.к. аддонбар у меня в адресной строке, то и подсказка появляется там же.
Займусь, кстати мне кажется автор обновил этот код.
Отсутствует
bunda1,
Я сейчас только обнаружил, этот новый код не открывает в новой вкладке букмарки из Панели меню > Закладки.
Попробуй все возможное что можно открыть, сделай рестарт после замены кода.
// Открывать всё в новых вкладках, от 17.11.2013. ...................................... (function () { // всё перечисленное открыввать в новых вкладках, если пустая страница открывать в текущей .... const where = whereToOpenLink; eval("whereToOpenLink = " + where.toString() .replace(/return "current";/g, "{"+(function() { var node = e && e.originalTarget; while (node) { switch (node.id) { case "goPopup": case "home-button": case "page-proxy-stack": case "go-button": case "appmenu_historyMenupopup": case "PopupAutoCompleteRichResult": case "searchbar": case "PopupAutoComplete": if ( ["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) return "current"; return "tab"; } node = node.parentNode; } return "current"; }).toString().replace(/^.*{|}$/g, "")+"}") ); // закладки и историю в новых вкладках, букмарклети или пустая страница в текущей .... const openNode = PlacesUIUtils._openNodeIn; eval("PlacesUIUtils._openNodeIn = " + openNode.toString() .replace('{', '{\n if (["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) aWhere = "current";\n') .replace('{', '{\n aWhere = (aWhere == "tab" || aNode.uri.startsWith("javascript:") ) ? "current" : "tab";') ); // если JavaScript ссылка или пустая страница открывать в текущей .... const linkIn = openLinkIn; eval("openLinkIn = " + linkIn.toString() .replace(';', ';\n if ( url.startsWith("javascript:") ) where = "current";\n') .replace(';', ';\n if (["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) where = "current";') ); // команды адресной строки открывают всё связанное с адресной строкой в новых вкладках .... const handle = gURLBar.handleCommand; eval("gURLBar.handleCommand = " + handle.toString() .replace(/aTriggeringEvent\s*&&\s*aTriggeringEvent.altKey/, "!($&)") .replace("aTriggeringEvent.preventDefault();", "") .replace("aTriggeringEvent.stopPropagation();", "") ); // удалять изменения из внутренних функций Firefox .... addDestructor(function() { eval("whereToOpenLink = " + where); eval("PlacesUIUtils._openNodeIn = " + openNode); eval("openLinkIn = " + linkIn); eval("gURLBar.handleCommand = " + handle); }); })();
Отредактировано bunda1 (17-11-2013 04:41:32)
Отсутствует
Попробуй все возможное что можно открыть, сделай рестарт после замены кода.
Тестировал код - до сих пор ни одного сбоя.
Спасибо ещё раз!
Где-то проскакивала информация, что кнопка Toggle Find барахлит, если введён длинный текст. Хотелось бы почитать этот пост, но не могу его найти.
Отсутствует
bunda1, в последнее время кнопка Drag and go Modoki ведет себя неправильно, раньше подсказка к выполняемому жесту появлялась в нижнем левом углу экрана, а теперь появляется в аддонбаре, но т.к. аддонбар у меня в адресной строке, то и подсказка появляется там же.
Все это приводит к этому:
который иногда заскакивает между другими кнопками и все это выглядит не очень то и хорошо
А чем ты перенёс аддонбар в адресную строку.
Отсутствует
раньше подсказка к выполняемому жесту появлялась в нижнем левом углу экрана
По идее, можно использовать
(см. chrome://browser/content/browser.js)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
А чем ты перенёс аддонбар в адресную строку.
url-addon-bar
С кодом от Infocatcher: Drag and go Modoki.txt
ссылка ведет на старый код, по-крайей мере отличия от моего только в жестах
Отсутствует
Распорка для Australis'а: http://custombuttons.sourceforge.net/fo … f=2&t=1222
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Чайник
Проблема в том, что нужный узел определен в binding'e для (анонимного) textbox.searchbar-textbox, а не #searchbar. И в таком случае подсветка красным уже не помогает.
Настоящего родителя можно узнать через getBindingParent(): в DOM Inspector'e можно справа выбрать «Объект JavaScript», в контекстном меню корневого узла вызвать «Вычислить JavaScript» и там уже выполнить что-нибудь вродеВыделить кодКод:
var p = target.ownerDocument.getBindingParent(target); alert(p.nodeName + (p.id ? "#" + p.id : "") + (p.className ? "." + p.className.split(/\s+/).join(".") : ""));
Специально зарегистрировался чтобы спросить. Мне тоже бывает нужно определить родителя.
Infocatcher что имеется в виду "в DOM Inspector'e можно справа выбрать «Объект JavaScript», в контекстном меню корневого узла вызвать «Вычислить JavaScript» и там уже выполнить что-нибудь вроде..." под корневым узлом?
Отсутствует
Ki_rrrilll
После выбора в правой панели «Объект JavaScript», в ней появляется дерево вида
Объект [object XULElement]
├─ тут
├─ какие-то
└─ свойства
Вот этот самый первый «Объект» и есть корневой узел этого дерева. И он же представляет собой JavaScript-объект DOM-узла, выбранного в панели слева. Ну, и target в «Вычислить JavaScript» будет указывать как раз на него (там про это будет написано).
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Ясно, спасибо
Отсутствует
Пара вопросов.
Я вешаю на картинку обработчик онклик. Кликаю по картинке, выполняется нужный код.
Но если картинка со ссылкой, происходит ещё и переход по ссылке, preventDefault() ничего не помогает. Что можно тут сделать?
И второй вопрос, есть ли в JavaScript нечто подобное - первый клик вызывает одну функцию, второй клик - другую?
Отсутствует
Распорка для Australis'а: http://custombuttons.sourceforge.net/fo … f=2&t=1222
Большое спасибо.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Большое спасибо.
Там еще с только что вытащенными из палитры кнопками какие-то проблемы – как будто отрабатывает XBL-деструктор, так что кнопки-меню оказываются без меню. Но если в инициализации добавляется контекстное меню, расположенное не внутри кнопки, то оно работает.
А вот в новых окнах и после перезапуска уже все нормально. То есть проблема где-то в изменениях механизма настройки панелей.
Вот простая кнопка для проверки:
this.type = "menu"; this.orient = "horizontal"; var mp = document.createElement("menupopup"); var mi = document.createElement("menuitem"); mi.setAttribute("label", "Test"); mi.setAttribute("oncommand", "alert(this.getAttribute('label'));"); mp.appendChild(mi); this.appendChild(mp);
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%3ETest%20menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-1%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.type%20%3D%20%22menu%22%3B%0Athis.orient%20%3D%20%22horizontal%22%3B%0Avar%20mp%20%3D%20document.createElement%28%22menupopup%22%29%3B%0Avar%20mi%20%3D%20document.createElement%28%22menuitem%22%29%3B%0Ami.setAttribute%28%22label%22%2C%20%22Test%22%29%3B%0Ami.setAttribute%28%22oncommand%22%2C%20%22alert%28this.getAttribute%28%27label%27%29%29%3B%22%29%3B%0Amp.appendChild%28mi%29%3B%0Athis.appendChild%28mp%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%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
И с удаление кнопок не все хорошо.
Там используется resource:///modules/CustomizableUI.jsm, и есть кэш в настройке browser.uiCustomization.state. Если кнопка удаляется, а кэш не правится, то после добавления такой же кнопки (с тем же id) ее не будет в палитре (ну, то есть она там, куда ее и добавили, но из интерфейса ее скрывают). Вот тут есть кое-какие подробности.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Помогите пожалуйста!) В Кнопке истории (Firefox) Левый клик мышью - не выводит список последних 37-и адресов...
открывается список лишь с 15-ью адресами, как и в меню браузера при нажатии кнопки "Журнал".
Как только установишь кнопку выпадает список в 37 адресов, но после сокращается до 15, возможно в ранних версиях Firefox эта кнопка работала корректно, а сейчас конфликт правил... Можно как-нибудь исправить?
Отсутствует
Помогите пожалуйста!) В Кнопке истории (Firefox) Левый клик мышью - не выводит список последних 37-и адресов...
открывается список лишь с 15-ью адресами, как и в меню браузера при нажатии кнопки "Журнал".
Как только установишь кнопку выпадает список в 37 адресов, но после сокращается до 15, возможно в ранних версиях Firefox эта кнопка работала корректно, а сейчас конфликт правил... Можно как-нибудь исправить?
Такую закладку создать, прописав столько адресов сколько нужно.
Отсутствует
Такую закладку создать, прописав столько адресов сколько нужно.
скрытый текстplace:queryType=0&sort=4&maxResults=30
Поставил вместо
("place", "type=0&sort=4&maxResults=37") > ("place", "place:queryType=0&sort=4&maxResults=30")
Не помогает, после перезагрузки браузера, в списке снова 15 адресов.
Отредактировано Владимир... (25-11-2013 03:33:13)
Отсутствует
Не помогает, после перезагрузки браузера, в списке снова 15 адресов.
Нет, пользоваться закладкой, а не списком. Разместив её в удобном месте.
Отсутствует