Добрый день!
Может ли кто-нибудь помочь поправить эту кнопку?
Перестала открываться https://forum.mozilla-russia.org/viewto … 84#p477384 Compact Menu
Спасибо!
Отредактировано suz191 (02-10-2020 23:10:20)
Отсутствует
suz191
Попробуйте вариант от Dumby, может подойдет.
/*Initialization code*/ // https://forum.mozilla-russia.org/viewtopic.php?pid=774905#p774905 ..... (this.type != "menu" && (this.type = "menu") && !this.hasAttribute("is")) || (move => { if (this.parentNode.nodeName == "toolbarpaletteitem") return; var bar = document.getElementById("main-menubar"); var menupopup = document.createXULElement("menupopup"); this.prepend(menupopup); move(bar, menupopup); addDestructor(() => move(menupopup, bar)); })((from, to) => Array.from(from.children).forEach(child => { var popup = child.querySelector(":scope > menupopup"); popup.remove(); child.textContent = child.renderedOnce = ""; to.append(child); child.render(); child.append(popup); }));
«The Truth Is Out There»
Отсутствует
Подскажите пожалуйста.
Я делаю xmlhttprequest на определенную страницу, получаю ее исходный код. Из HTML кода я вырезаю все что мне не нужно.
А как теперь открыть окно с этим моим HTML кодом?
Мне нужно вставить свои и body, и head со всеми скриптами и стилями.
Отсутствует
Из HTML кода я вырезаю все что мне не нужно.
А как теперь открыть окно с этим моим HTML кодом?
Мне нужно вставить свои и body, и head со всеми скриптами и стилями.
Эдакий ты наглец-баловник, хм. Яб тебе сноги засадил; так, нецелясь; куда_прилетит.... не особо_выбирая место_приложения_силы.
Есть ещё соратники в вышеобозначенном деянии? Мамкин вырезатель, окнооткрыватель....
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
На форуме
hartumov пишетИз HTML кода я вырезаю все что мне не нужно.
А как теперь открыть окно с этим моим HTML кодом?
Мне нужно вставить свои и body, и head со всеми скриптами и стилями.Эдакий ты наглец-баловник, хм. Яб тебе сноги засадил; так, нецелясь; куда_прилетит.... не особо_выбирая место_приложения_силы.
Есть ещё соратники в вышеобозначенном деянии? Мамкин вырезатель, окнооткрыватель....
Да понятно что ты Рэмбо сноги засадитель и все вокруг дрожат от ужаса.
Но только я не понял в чем криминал моего деяния. Ну забита страница не нужным мне хламом. Я оставил на ней то, что мне нужно и хочу открыть ее в таком виде.
И что? Кому от этого плохо, какие законы я нарушил или кому я доставил этим неприятности?
Я правда не в курсе.
Отсутствует
hartumov то что ты описал, делают почти все баннерные\рекламные сетки. Они ставят обработчики на странице, открывают что ИМ нужно, кудаб ты\я (юзер) не жмакнул. открывают окна\вкладки, подменяют их порядок\расположение... всё это т.н. "вредоносные действия", а по-простому - мудачилово.
Сходи на любой проно-сайт, отключи рекламорезку и посмотри как это они делают. Твои побуждения и мотивы могут быть самыми светлыми, но это никак не меняет инструментов которые тебе понадобятся. убивают не пули\пистолеты, а люди.
Отредактировано mokujin (11-10-2020 20:14:37)
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
На форуме
hartumov то что ты описал, делают почти все баннерные\рекламные сетки. Они ставят обработчики на странице, открывают что ИМ нужно, кудаб ты\я (юзер) не жмакнул. открывают окна\вкладки, подменяют их порядок\расположение... всё это т.н. "вредоносные действия", а по-простому - мудачилово.
Сходи на любой проно-сайт, отключи рекламорезку и посмотри как это они делают. Твои побуждения и мотивы могут быть самыми светлыми, но это никак не меняет инструментов которые тебе понадобятся. убивают не пули\пистолеты, а люди.
Я собирался открывать окно c подкорректированным кодом не на сайте (которого у меня нет), а у СЕБЯ в браузере.
Гугл уже подсказал мне, что это можно сделать двумя способами:
window.document.write() или window.document.body.innerHTML
Вот и вся премудрость.
Отредактировано hartumov (12-10-2020 14:54:04)
Отсутствует
Подскажите работающую версию Custom Buttons для FireFox 78.3.1 ...
custom_buttons-0.0.7.0.0.15-fx-paxmod.xpi + https://forum.mozilla-russia.org/viewtopic.php?id=70326
Win7
Отсутствует
zbf пишетПодскажите работающую версию Custom Buttons для FireFox 78.3.1 ...custom_buttons-0.0.7.0.0.15-fx-paxmod.xpi + https://forum.mozilla-russia.org/viewtopic.php?id=70326
А в portable в какие папки положить скрипты?
Отсутствует
foxboy
А в portable в какие папки положить скрипты?
У меня эта версия Portable от PotableApps.com и положил config.js в папку *\App\Firefox64, т.к. у меня OS 64bit.
Но я писал выше, что кнопка-то появилась, но не работает. А есть portable версия 45.6 - в ней и кнопка появилась и работает...
Отсутствует
А в portable в какие папки положить скрипты?
Файл: config.js -> App\Firefox или в папку Firefox64 если OS 64bit
Файл: config-prefs.js -> App\Firefox\Firefox64\defaults\pref
Win7
Отсутствует
Создал кнопку для индексации файлов в папке, содержащей страницу, находящуюся в окне браузера:
===================================================================================
var homepage = content.location.href;
//преобразуем file:///C:/test/test.txt в C:\test
var homedir = homepage.substring(8, homepage.lastIndexOf("/")).replace(new RegExp("/",'g'),"\\");
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(homedir);
var entries = file.directoryEntries;
var array = [];
while(entries.hasMoreElements()) {
var entry = entries.getNext();
entry.QueryInterface(Components.interfaces.nsIFile);
if (entry.isFile() == true) array.push(entry.leafName);
}
custombuttonsUtils.writeFile(homedir + "\\index.txt", array.join("\r\n"));
===================================================================================
Страница может быть как простая (бесфреймовая), так и во фрейме, тогда в качестве homepage использую:
var homepage = content.frames[1].location.href;
Как сделать так чтобы кнопка работала с обеими типами страниц?
Вот такая попытка, например, не сработала:
if (parent.frames.length==0) var homepage = content.location.href
else var homepage = content.frames[1].location.href;
Отредактировано ruslaw (23-10-2020 19:37:26)
Отсутствует
так и во фрейме, тогда в качестве homepage использую:
var homepage = content.frames[1].location.href;if (parent.frames.length==0)
Непонятно что за parent и почему второй фрейм, а не первый.
Хорошо, допустим второй
var {frames} = content, ind = 1; var entries = (frames[ind] || frames).document.documentURIObject .QueryInterface(Ci.nsIFileURL).file.parent.directoryEntries; var array = []; while(entries.hasMoreElements()) { var entry = entries.getNext().QueryInterface(Ci.nsIFile); entry.isFile() && array.push(entry.leafName); } alert(array.join("\n"));
Отсутствует
Dumby, огромное спасибо!
Однако остается не понятно как мне управиться с помещением индексного файла в нужный каталог
у меня:
custombuttonsUtils.writeFile(homedir + "\\index.txt", array.join("\r\n"));
homedir выводится из homepage = content.location.href
но это будет работать лишь для безфреймовой страницы
Отредактировано ruslaw (23-10-2020 22:22:46)
Отсутствует
Сам нашел.
var homepage = (frames[ind] || frames).location.href;
var homedir = homepage.substring(8, homepage.lastIndexOf("/")).replace(new RegExp("/",'g'),"\\");
custombuttonsUtils.writeFile(homedir + "\\index.txt", array.join("\r\n"));
Спасибо еще раз за первый толчок.
Отсутствует
Dumby
был такой код твоего авторства для custom_script_win.js:
try {({ init(tabpanels) { var dsp = e => this[e.type](e); addEventListener("click", dsp, true); tabpanels.addEventListener("wheel", dsp); addEventListener("unload", () => { removeEventListener("click", dsp, true); tabpanels.removeEventListener("wheel", dsp); }, {once: true}); }, e: {ctrlKey: true, shiftKey: true}, p: {triggeringPrincipal: document.nodePrincipal}, s: "menu.bookmark-item,toolbarbutton.bookmark-item[type=menu]", click(e) { if ( e.button == 1 && isBlankPageURL(gBrowser.currentURI.spec) && !e.ctrlKey && !e.shiftKey && !e.altKey && e.target.matches(this.s) && !gBrowser.webProgress.isLoadingDocument ) { var trg = e.target, pn = trg._placesNode; if (!pn) return; e.stopPropagation(); var urls = PlacesUtils.getURLsForContainerNode(pn); PlacesUIUtils.openInTabClosesMenu && trg.tagName == "menu" && closeMenus(trg); if (urls.length && OpenInTabsUtils.confirmOpenInTabs(urls.length, window)) gBrowser.loadURI(urls.shift().uri, this.p), urls.length && PlacesUIUtils._openTabset(urls, this.e, window); } }, wheel(e) { var findbar = gBrowser.selectedTab._findBar; findbar?.matches(":hover") && e.deltaY && findbar.onFindAgainCommand(e.deltaY < 0); } }).init(document.getElementById("tabbrowser-tabpanels"))} catch(ex) {Cu.reportError(ex);}
после последнего обновления FF перестало корректно срабатывать открытие папок закладок по СКМ
теперь открывается только первая закладка из папки, а остальные игнорируются
посмотри/помоги пожалуйста, что случилось
Отсутствует
посмотри/помоги пожалуйста, что случилось
Да, вижу. Случилось то, что Майк, зачем-то, переименовал PlacesUIUtils._openTabset()
Взял и удалил из имени метода знак «_» (bug).
Да ещё собрался это дело в ESR78 перетащить.
Можешь в коде точно так же переименовать, если обратная совместимость не нужна.
А если нужна, тогда как-нибудь подправь, например типа
... k: (k => k in PlacesUIUtils ? k : "_" + k)("openTabset"), click(e) { ... //urls.length && PlacesUIUtils._openTabset(urls, this.e, window); urls.length && PlacesUIUtils[this.k](urls, this.e, window); } },
Отсутствует
Dumby
Где рабочую версию Custom Buttons взять, а то у меня редактор кнопок не работает?
Добавлено 29-10-2020 01:32:00
был такой код твоего авторства для custom_script_win.js:
И что делает этот код?
Отредактировано voqabuhe (29-10-2020 01:32:55)
Отсутствует