Duche пишет:
Всё работает. Для общего развития просветите , что или кто отвечает в этом коде за положение строки "Добавить как закладку в" (верх или низ) в контекстном меню.
Не успел отредактировать. Вопрос ? Обязательно готовые кнопки должны находиться на панели или могут быть в каталоге кнопок Custom Buttons.
Спасибо за работу!
Отредактировано Duche (10-08-2016 18:23:11)
Отсутствует
Не успел отредактировать. Вопрос ? Обязательно готовые кнопки должны находиться на панели или могут быть в каталоге кнопок Custom Buttons.
Да. По ссылке на первый код, что "спозаранку", ниже, несколько вариантов описано, как сделать, чтоб кнопка глаза не мозолила, если для работы не требуется ее нажатие.
Отсутствует
Да. По ссылке на первый код,
Не стал сильно ломать голову, пошел старым методом - подсунул код под готовую нужную кнопку на панели. Главное не забыть при переезде на другую версию Firefox.
Спасибо.
Отредактировано Duche (10-08-2016 19:18:34)
Отсутствует
Не совсем понял, про какие изменения речь, но MutationObserver. Вот пример, как использовать. Сам с ними не дружу, поэтому больше ничем.
О, я там вообще не понимаю , для меня parent.node == парить.ноги ---> набор.звукофф
Пока так маюсь, дубль 3, просмотр сразу по три вкладки:
var i; var m; var targetTab; var links = []; this.ondragover = () => false; this.ondrop = e => { i=-1; var place = e.dataTransfer.getData("text/x-moz-place"), obj; if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container" && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) { var html = e.dataTransfer.getData("text/html"); var doc = new DOMParser().parseFromString(html, "text/html"); links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF")); } m = links.length; stop(); } this.leftclick = function(event) {stop();} function stop(){ if(i != -1){ targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab); targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab); targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab); } i++; if(i <= m-1) gBrowser.selectedTab = gBrowser.addTab(links[i]); else return; i++; if(i <= m-1) gBrowser.addTab(links[i]); else return; i++; if(i <= m-1) gBrowser.addTab(links[i]); else return; } this.setAttribute('onclick', 'custombuttons.gQuot.mHandler(event, this)'); this.tooltipText = "drag'n'drop - folder:\n"+"<--- Начать просмотр";
Добавлено 10-08-2016 23:27:43
А как сделать - при клике ЛКМ на вкладку выполнить команду BrowserStop() для соседней вкладки находящейся слева?
Отредактировано fokanik (10-08-2016 23:31:23)
Отсутствует
В 48 перестала работать Save CB buttons (FF Exp Imp CB)
Отредактировано vitalii201 (11-08-2016 07:48:11)
Отсутствует
А как сделать - при клике ЛКМ на вкладку выполнить команду BrowserStop() для соседней вкладки находящейся слева?
addEventListener('mousedown', e => { if (e.button != 0) return; let tab = e.originalTarget; while (tab && tab.localName != 'tab') tab = tab.parentNode; let controlItem = e.originalTarget.localName == 'toolbarbutton' || e.originalTarget.localName == 'image'; if (!tab || controlItem) return; let targetTab = tab._tPos - 1; gBrowser.visibleTabs.forEach(tab => tab._tPos == targetTab && tab.hasAttribute("busy") && tab.linkedBrowser._webNavigation.stop(1)) }, true, gBrowser.tabContainer);
Отсутствует
скрытый текстВыделить кодКод:
addEventListener('mousedown', e => { if (e.button != 0) return; let tab = e.originalTarget; while (tab && tab.localName != 'tab') tab = tab.parentNode; let controlItem = e.originalTarget.localName == 'toolbarbutton' || e.originalTarget.localName == 'image'; if (!tab || controlItem) return; let targetTab = tab._tPos - 1; gBrowser.visibleTabs.forEach(tab => tab._tPos == targetTab && tab.hasAttribute("busy") && tab.linkedBrowser._webNavigation.stop(1)) }, true, gBrowser.tabContainer);
В работает, в нет.
Дубль 4:
this.tooltipText = "folder navigator:\n"+ "Перетащите папку закладок на кнопку.\n"+ "Навигация - клик по вкладке.\n"+ "Остановить навигацию - ЛКМ."; var jskript = true; //Отключать javaskript глобально var i = 10000; var m; var links = []; this.ondragover = () => false; this.ondrop = e => { i=-1; var place = e.dataTransfer.getData("text/x-moz-place"), obj; if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container" && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) { var html = e.dataTransfer.getData("text/html"); var doc = new DOMParser().parseFromString(html, "text/html"); links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF")); } m = links.length; if (jskript) gBrowser.mPrefs.setBoolPref("javascript.enabled", false); i++; if(i <= m-1) gBrowser.selectedTab = gBrowser.addTab(links[i]); i++; if(i <= m-1) gBrowser.addTab(links[i]); } addEventListener('mousedown', e => { if (e.button != 0) return; if(i <= m-1) {var targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab);} i++; if(i <= m-1) gBrowser.addTab(links[i]); }, true, gBrowser.tabContainer); this.onclick = function(e){ if (e.button == 0){ i = 10000; if (jskript) gBrowser.mPrefs.setBoolPref("javascript.enabled", true); } }
Отсутствует
Добрый день. Обращаюсь к специалистам, создать новый пункт "Добавить как закладку в" в контекстном меню на странице,
Добрый день. Можно ещё немного доработать кнопку. Первое- Попадать из контекстного не в "Панель закладок" а в "Меню закладок". Второе - Вставить код , для закрытие контекстного меню и всего дерева папок закладок после дойного клика по папке для сохранения закладки или увода курсора с контекстного меню . Заранее спасибо.
Отредактировано Duche (11-08-2016 13:21:58)
Отсутствует
Duche
В первом коде замените TOOLBAR на BOOKMARKS_MENU, во втором добавьте в конце, перед закрывающими скобками, document.getElementById("contentAreaContextMenu").hidePopup();
Отредактировано turbot (11-08-2016 15:01:59)
Отсутствует
В первом коде замените TOOLBAR на BOOKMARKS_MENU, во втором добавьте в конце, перед закрывающими скобками, document.getElementById("contentAreaContextMenu").hidePopup();
Всё работает.Спасибо. Для самообразования , где почитать как правильно называются папки.
Отсутствует
Подскажите пожалуйста почему у меня нет на панели инструментов кнопки от Ghostery. Само дополнение установлено, внизу выходит окошечко с жучками, а кнопки для блокирования нет. Где и как её найти? Спасибо.
Отсутствует
Ultima2m нет её там, раньше всё это у меня работало, а в какой то момент пропал значок на панели инструментов, само дополнение работает. Удаление и переустановка Mozila и Ghostery результат тот же. Может кнопку можно самому создать - где взять код кнопки?
Отредактировано sibirnik (11-08-2016 19:03:51)
Отсутствует
sibirnik
Есть такая кнопка "Поиск", если ей воспользоваться, то без труда находится тема: Форумы » Обсуждение расширений » ghostery
Отсутствует
fokanik
Вы не у того спрашиваете. Я не меньший чайник, чем вы.
Мне в голову только
function isBusy() { if (gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length == 0) gBrowser.addTab(links[i]); } addEventListener("TabAttrModified", isBusy, false, gBrowser.tabContainer);
приходит. Не знаю, что вы пытаетесь сделать, поэтому сами смотрите, куда впихивать удаление листенера, когда он ненужен будет:
Отсутствует
turbot, а еще подскажите, как сделать условие - если нет загружающихся/обновляющихся вкладок, то открыть еще одну из списка gBrowser.addTab(links[i])?
gBrowser.visibleTabs.some(tab=>{ return tab.getAttribute("busy") }) || gBrowser.addTab(links[i]);
Не очень понятно что требуется.
Отредактировано bunda1 (12-08-2016 18:06:46)
Отсутствует
Не знаю, что вы пытаетесь сделать
Не очень понятно что требуется.
Экспериментирую, сам не знаю чего хочу
Дубль 5:
this.tooltipText = "Перетащите папку закладок на кнопку:\n"+ "ссылки из папки будут загружаться по очереди.\n"+ "Остановить загрузку - ЛКМ."; var i; var m; var links = []; this.ondragover = () => false; this.ondrop = e => { var place = e.dataTransfer.getData("text/x-moz-place"), obj; if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container" && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) { var html = e.dataTransfer.getData("text/html"); var doc = new DOMParser().parseFromString(html, "text/html"); links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF")); } i=0; m = links.length; run(); } function run(){ if (gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length == 0) if (i <= m-1){gBrowser.addTab(links[i]); i++;} else return; setTimeout(()=>run(), 500); } this.onclick = function(e){ if (e.button == 0) i = 10000; }
gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length gBrowser.visibleTabs.some(tab=>{ return tab.getAttribute("busy") })
В seamonkey эти строки не подхватываются, чем заменить можно?
Отсутствует
В seamonkey эти строки не подхватываются, чем заменить можно?
Не проверял, но попробуйте:
if (window === null || typeof window !== "object") { var window = Cc["@mozilla.org/appshell/window-mediator;1"] .getService(Ci.nsIWindowMediator) .getMostRecentWindow("navigator:browser"); } if (typeof gBrowser === "undefined") { var gBrowser = window.gBrowser; } function isBusy() { if (gBrowser.visibleTabs ? gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length == 0 : Array.slice(gBrowser.mTabs).filter(tab => tab.hasAttribute("busy")).length == 0) gBrowser.addTab(links[i]); } addEventListener("TabAttrModified", isBusy, false, gBrowser.tabContainer);
Отсутствует
Выделить кодКод:
gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length gBrowser.visibleTabs.some(tab=>{ return tab.getAttribute("busy") })В seamonkey эти строки не подхватываются, чем заменить можно?
Отсутствует
Возможно ли с помощью Custom Buttons сделать такой функционал - при нажатии на ссылку ЛКМ и удержании ее скажем 1.5 секунды, ссылка открывается в новой активной вкладке?
Отсутствует