fuchsfan, "memoryMinimizationButton.doMinimize()" заменил на
"Cc['@mozilla.org/memory-reporter-manager;1'].getService(Ci.nsIMemoryReporterManager).minimizeMemoryUsage(() => {})"
и не знаю, есть ли негативные последствия сего действия
Отсутствует
Dumby
Уж не знаю что за Цент,а для лисы как-то так
скрытый текстВыделить кодКод:
(async (id, url) => { if (location != url) return; var menuitem = document.createXULElement("menuitem"); document.getElementById(id).after(menuitem); var hidden = () => !nsContextMenu.contentData.context.linkTextStr; menuitem.hidden = true; menuitem.render = () => { if (hidden()) return; menuitem.hidden = false; menuitem.id = id + "text"; menuitem.label = "Скопировать текст ссылки"; menuitem.setAttribute("oncommand", "navigator.clipboard.writeText(gContextMenu.linkTextStr);"); delete menuitem.render; menuitem.render(); menuitem.render = () => menuitem.hidden = hidden(); } })("context-copylink", "chrome://browser/content/browser.xhtml");
Возможно ли как-то переделать код для работы вот с этим загрузчиком?
Отсутствует
Возможно ли как-то переделать код для работы вот с этим загрузчиком?
Ух ты, как там всего навёрнуто!
Но, ничего, создал папку utils, а в ней «three files» руками.
И, рядом, папку JS, в которую положил test.uc.js с приведённым кодом.
И пункт контекстного меню страниц «Скопировать текст ссылки»
на ссылках появился, и копирует.
Таким образом, на первый взгляд, никакая переделка не требуется.
Отсутствует
Ух ты, как там всего навёрнуто!
В описании так: начиная с версии «0.8» fx-autoconfig несовместим с Firefox ESR 102
Непонятно, с какой минимальной версии Firefox этот загрузчик скриптов работает ?
Отсутствует
Странно, но не работает.
Либо неправильно понял... У меня в папке utils лежат файлы chrome.manifest, boot.sys.mjs, fs.sys.mjs, utils.sys.mjs. В папке JS (не подпапка, а папка этого же уровня, что и utils) лежат скрипты *.uc.js и, собственно, ваш скрипт. Все работают, ваш не хочет
Fx 115.0.4 ESR
ЧЯДНТ?
Отсутствует
В описании так: начиная с версии «0.8» fx-autoconfig несовместим с Firefox ESR 102
Ну правильно, там вызов метода, который импортирует ES-модуль,
а это специально выкинули из 102, чтоб не повадно было.
Непонятно, с какой минимальной версии Firefox этот загрузчик скриптов работает ?
Мне-то откуда ведомо, я его сегодня первый раз попробовал развернуть.
Рыться в кодах в поисках самого слабого звена — желания нет.
Заниматься бинарным поиском по-факту от 103 до 121 — тоже неохота.
ЧЯДНТ?
Не знаю, и не могу знать.
Можно высказать странное предположение, что скрипт не в кодировке UTF-8.
Есть ли в консоли что-то типа «Caused by: SyntaxError: bad trailing UTF-8 byte 0xCA doesn't match the pattern 0b10xxxxxx»?
Нет, ну не обязательно чтобы только именно в UTF-8,
можно и в ANSI, но тогда и вместо "Скопировать текст ссылки"
придётся писать что-нибудь такое:
"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0441\u0441\u044B\u043B\u043A\u0438"
Отсутствует
Можно высказать странное предположение, что скрипт не в кодировке UTF-8.
Бинго!
Спасибо, всё работает.
Отсутствует
Dumby, попробовал сохранить страницу с поисковыми результатами яндекса, но в оффлайн режиме скрипты статистики не работают. Да и не беда. Я все равно такие скрипты не разрешаю, а без них победить прослушку можной одной строкой из консоли или букмарклета.
Однако, решил автоматизировать, но через скрипт, загружаемый из UserChrome.js, получить доступ к странице яндекса, наверное, не реально, да и ставить одно из обезьяних расширений из-за одного скрипта тоже не хотелось.
Добавил к скрипту манифест, упаковал в xpi, установил. Доступ к функциям страницы был получен малой кровью (wrappedJSObject). И все работает как надо
Отредактировано 6e73epo (07-11-2023 22:55:46)
Отсутствует
Ух ты, как там всего навёрнуто!
давно смотрю как загрузчик от ксяо раскорячило, ой продвинул MrOtherGuy
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
Farby
Посмотрел Ваш измененный пост и попробовал заменить в своем config.js на ваш новый код.
SingleHTML.jsm перестал работать как надо.
Отсутствует
Посмотрел Ваш
Так Вам
Перенёс ссылку из ucfBox'а в конфигский сандбокс, и теперь, вроде, не слетает.
Вобщем, попробуй заменить sb[Symbol()] на globalThis[Symbol()]
Уже давно расписал что надо сделать если у Вас не работает...
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
Здравствуйте.
На некоторых сайтах при закрытии страницы всплывает сообщение "Уйти со страницы" которое не позволяет закрыть вкладку не нажав соответствующую кнопку в предупреждении.
Например здесь: https://www.zbrushcentral.com/t/pendant/434810
Как убрать это предупреждение чтобы не появлялось вновь?
Отсутствует
Народ привет.
Не совсем по Firefox, как перенести этот js скрипт, чтобы работал на Vivaldi?
Надо, чтобы в Vivaldi, можно было закрывать вкладку, если кликать по ней правым кликом мышки
Vivaldi, как и Firefox, тоже поддерживает js скрипты.
/* Firefox userChrome script * Right-clicking on tab button to close tab * Shift + right-clicking to popup menu * Tested on Firefox 91 * Author: garywill (https://garywill.github.io) */ // ==UserScript== // @include main // ==/UserScript== console.log("right_click_close_tab.js"); (() => { gBrowser.tabContainer.addEventListener("TabOpen", eventTabAdded, false); function eventTabAdded(event) { var tab = event.target; tab.addEventListener('click', onTabEvent); tab.addEventListener('contextmenu', onTabEvent); } function onTabEvent(event) { //console.log(event.type); if (event.button != 2 || event.shiftKey ) return; event.preventDefault(); event.stopPropagation(); if (event.type == 'click') gBrowser.removeTab(this, {animate: true}); } gBrowser.tabContainer.querySelectorAll('tab').forEach( function(tab, index) { tab.addEventListener('click', onTabEvent); tab.addEventListener('contextmenu', onTabEvent); }); })();
Отсутствует
Не совсем по Firefox, как перенести этот js скрипт, чтобы работал на Vivaldi?
К сожалению для вас спешу огорчить, это низкоуровневый скрипт, который исполнятся на уровне ядра
О кстати
Double-click to close tab.
Right-click to close tab. (Hold Shift to show the original menu.)
Preserve the last tab (prevents the browser from closing when the last tab is closed; clicking the close button will not work.)
Use the mouse wheel to switch tabs when hovering over the tab bar.
Use the mouse wheel to switch tabs when holding the right mouse button.
Create new tab to opens the contents entered in address bar. (Can be configured to open in foreground or background.)
Create new tab to opens bookmarks. (Can be configured to open in foreground or background.)
Disable the above two features when the current tab is a new tab.
Customize hotkeys to quickly hide the browser window (boss key).
Customize hotkeys to translate web page.
Portable design: the program is placed in the App directory, and data is stored in the Data directory (incompatible with the original data; you can reinstall the system or change computers without losing data).
Allow configuration of features using ini files.
Allow custom Chromium startup parameters.
Vivaldi, как и Firefox, тоже поддерживает js скрипты.
когда увидите фразу
Firefox userChrome script
сразу проходите мимо, это не про Chromium Clones...
Отредактировано Farby (22-03-2024 23:20:01)
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
Народ привет.
Не совсем по Firefox, как перенести этот js скрипт, чтобы работал на Vivaldi?Надо, чтобы в Vivaldi, можно было закрывать вкладку, если кликать по ней правым кликом мышки
Vivaldi, как и Firefox, тоже поддерживает js скрипты.Выделить кодКод:
/* Firefox userChrome script * Right-clicking on tab button to close tab * Shift + right-clicking to popup menu * Tested on Firefox 91 * Author: garywill (https://garywill.github.io) */ // ==UserScript== // @include main // ==/UserScript== console.log("right_click_close_tab.js"); (() => { gBrowser.tabContainer.addEventListener("TabOpen", eventTabAdded, false); function eventTabAdded(event) { var tab = event.target; tab.addEventListener('click', onTabEvent); tab.addEventListener('contextmenu', onTabEvent); } function onTabEvent(event) { //console.log(event.type); if (event.button != 2 || event.shiftKey ) return; event.preventDefault(); event.stopPropagation(); if (event.type == 'click') gBrowser.removeTab(this, {animate: true}); } gBrowser.tabContainer.querySelectorAll('tab').forEach( function(tab, index) { tab.addEventListener('click', onTabEvent); tab.addEventListener('contextmenu', onTabEvent); }); })();
https://github.com/benzBrake/VivaldiMods/blob/main/chrome/userChromeJS/rightClickTabToClose.ac.js
Отсутствует
Nich пишетНарод привет.
Не совсем по Firefox, как перенести этот js скрипт, чтобы работал на Vivaldi?Надо, чтобы в Vivaldi, можно было закрывать вкладку, если кликать по ней правым кликом мышки
Vivaldi, как и Firefox, тоже поддерживает js скрипты.Выделить кодКод:
/* Firefox userChrome script * Right-clicking on tab button to close tab * Shift + right-clicking to popup menu * Tested on Firefox 91 * Author: garywill (https://garywill.github.io) */ // ==UserScript== // @include main // ==/UserScript== console.log("right_click_close_tab.js"); (() => { gBrowser.tabContainer.addEventListener("TabOpen", eventTabAdded, false); function eventTabAdded(event) { var tab = event.target; tab.addEventListener('click', onTabEvent); tab.addEventListener('contextmenu', onTabEvent); } function onTabEvent(event) { //console.log(event.type); if (event.button != 2 || event.shiftKey ) return; event.preventDefault(); event.stopPropagation(); if (event.type == 'click') gBrowser.removeTab(this, {animate: true}); } gBrowser.tabContainer.querySelectorAll('tab').forEach( function(tab, index) { tab.addEventListener('click', onTabEvent); tab.addEventListener('contextmenu', onTabEvent); }); })();https://github.com/benzBrake/VivaldiMods/blob/main/chrome/userChromeJS/rightClickTabToClose.ac.js
Очень благодарю!
Ещё хотел спросить, вот у меня в Firefox, js скрипт активирует вкладку при наведении на нее, но не работает тогда выбор выделение вкладок, сбивается фокус, може есть какое нибудь решение?
Отсутствует
Этот скрипт работал из config.js пока AboutNewTab.jsm не превратился в AboutNewTab.sys.mjs. Может кому-то не слабо переделать?
try { Cu.import("resource:///modules/AboutNewTab.jsm"); if (AboutNewTab.newTabURL === "about:newtab") AboutNewTab.newTabURL = "about:blank"; } catch(e) {Cu.reportError(e)};
Отсутствует
вместо ChromeUtils указывал Cu
Cu.import("….jsm") и сейчас работает,
надо было только забрать AboutNewTab с того, что он возвращает.
Код, видимо, был сделан ещё во времена, когда этот метод
устанавливал экстортное добро прямо в глобальный объект.
Но он давно уже этого не делает.
Однако, ChromeUtils.importESModule() — это мейнстрим,
а Cu.import() подлежит удалению, надо полагать в 129.
зачем-то полез искать решение в Cu.getGlobalForObject(Cu)
ChromeUtils был добавлен в конфигский сандбокс с Firefox 101+
А если бы не был добавлен, то правильно полез,
туда за ним слазить прямо напрашивается.
Отсутствует
6e73epo
Но он давно уже этого не делает.
Похоже, здесь я совравши.
Подорвался проверить, в 125.0.1 запускаю с консоли
console.log(window.ProcessType);
Cu.import("resource://gre/modules/ProcessType.jsm");
console.log(window.ProcessType);
Первый лог — undefined
Второй лог — уже Object {...}
Тогда вернул Cu.import("resource:///modules/AboutNewTab.jsm");
Рестарт, и по Ctrl+T открывается about:blank
Я был уверен, что фичу выпилили, блин, всё надо проверять.
Осталось только непонятно, почему у тебя перестало работать.
Отсутствует