Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№12606-11-2023 10:37:52

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 108
UA: Firefox 119.0

Re: userChrome.js

6e73epo пишет

Вопрос решен. Одной строкой прописал и заработало

Куда именно добавить, после какой строки?

Отсутствует

 

№12706-11-2023 11:30:24

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 193
UA: Firefox 119.0

Re: userChrome.js

fuchsfan, "memoryMinimizationButton.doMinimize()" заменил на
"Cc['@mozilla.org/memory-reporter-manager;1'].getService(Ci.nsIMemoryReporterManager).minimizeMemoryUsage(() => {})"
и не знаю, есть ли негативные последствия сего действия

Отсутствует

 

№12807-11-2023 11:33:18

Злой Буратино
Участник
 
Группа: Members
Зарегистрирован: 09-12-2011
Сообщений: 98
UA: Firefox 115.0

Re: userChrome.js

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");

Возможно ли как-то переделать код для работы вот с этим загрузчиком?

Отсутствует

 

№12907-11-2023 13:05:40

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2152
UA: Firefox 78.0

Re: userChrome.js

Злой Буратино пишет

Возможно ли как-то переделать код для работы вот с этим загрузчиком?

Ух ты, как там всего навёрнуто!
Но, ничего, создал папку utils, а в ней «three files» :D руками.
И, рядом, папку JS, в которую положил test.uc.js с приведённым кодом.


И пункт контекстного меню страниц «Скопировать текст ссылки»
на ссылках появился, и копирует.
Таким образом, на первый взгляд, никакая переделка не требуется.

Отсутствует

 

№13007-11-2023 14:30:06

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 413
UA: Firefox 118.0

Re: userChrome.js

Dumby пишет

Ух ты, как там всего навёрнуто!

В описании так: начиная с версии «0.8» fx-autoconfig несовместим с Firefox ESR 102
Непонятно, с какой минимальной версии Firefox этот загрузчик скриптов работает ?

Отсутствует

 

№13107-11-2023 14:39:06

Злой Буратино
Участник
 
Группа: Members
Зарегистрирован: 09-12-2011
Сообщений: 98
UA: Firefox 115.0

Re: userChrome.js

Странно, но не работает.
Либо неправильно понял... У меня в папке utils лежат файлы chrome.manifest, boot.sys.mjs, fs.sys.mjs, utils.sys.mjs. В папке JS (не подпапка, а папка этого же уровня, что и utils) лежат скрипты *.uc.js и, собственно, ваш скрипт. Все работают, ваш не хочет :D
Fx 115.0.4 ESR
ЧЯДНТ?

Отсутствует

 

№13207-11-2023 16:43:19

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2152
UA: Firefox 78.0

Re: userChrome.js

Dobrov пишет

В описании так: начиная с версии «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"

Отсутствует

 

№13307-11-2023 17:07:33

Злой Буратино
Участник
 
Группа: Members
Зарегистрирован: 09-12-2011
Сообщений: 98
UA: Firefox 115.0

Re: userChrome.js

Dumby пишет

Можно высказать странное предположение, что скрипт не в кодировке UTF-8.

Бинго! :)
Спасибо, всё работает.

Отсутствует

 

№13407-11-2023 22:54:38

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 193
UA: Firefox 119.0

Re: userChrome.js

Dumby, попробовал сохранить страницу с поисковыми результатами яндекса, но в оффлайн режиме скрипты статистики не работают. Да и не беда. Я все равно такие скрипты не разрешаю, а без них победить прослушку можной одной строкой из консоли или букмарклета.
Однако, решил автоматизировать, но через скрипт, загружаемый из UserChrome.js, получить доступ к странице яндекса, наверное, не реально, да и ставить одно из обезьяних расширений из-за одного скрипта тоже не хотелось.
Добавил к скрипту манифест, упаковал в xpi, установил. Доступ к функциям страницы был получен малой кровью (wrappedJSObject). И все работает как надо

Отредактировано 6e73epo (07-11-2023 22:55:46)

Отсутствует

 

№13508-11-2023 00:47:12

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 248
UA: Google 2.1

Re: userChrome.js

Dumby пишет

Ух ты, как там всего навёрнуто!

:beer: давно смотрю как загрузчик от ксяо раскорячило, ой продвинул MrOtherGuy


Жизнь иногда такое выкидывает, что хочется подобрать...

На форуме

 

№13608-11-2023 08:49:00

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 559
UA: Firefox 115.0

Re: userChrome.js

Farby
Посмотрел Ваш измененный пост и попробовал заменить в своем config.js на ваш новый код.
SingleHTML.jsm перестал работать как надо.

Отсутствует

 

№13709-11-2023 00:02:02

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 248
UA: Google 2.1

Re: userChrome.js

rubel пишет

Посмотрел Ваш

Так Вам

Dumby пишет

Перенёс ссылку из ucfBox'а в конфигский сандбокс, и теперь, вроде, не слетает.
Вобщем, попробуй заменить sb[Symbol()] на globalThis[Symbol()]

Уже давно расписал что надо сделать если у Вас не работает...


Жизнь иногда такое выкидывает, что хочется подобрать...

На форуме

 

№13817-12-2023 12:54:38

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 319
UA: Firefox 120.0

Re: userChrome.js

Здравствуйте.
На некоторых сайтах при закрытии страницы всплывает сообщение "Уйти со страницы" которое не позволяет закрыть вкладку не нажав соответствующую кнопку в предупреждении.

Например здесь: https://www.zbrushcentral.com/t/pendant/434810

Как убрать это предупреждение чтобы не появлялось вновь?

Отсутствует

 

№13917-12-2023 14:15:52

AlAvis
Участник
 
Группа: Members
Зарегистрирован: 16-06-2014
Сообщений: 575
UA: Firefox 121.0

Re: userChrome.js

leex
В about:config - dom.disable_beforeunload = true
userChrome.js тут не причём .

Отсутствует

 

№14017-12-2023 16:02:59

3.0.1
Участник
 
Группа: Members
Зарегистрирован: 08-06-2023
Сообщений: 66
UA: Firefox 120.0
Веб-сайт

Re: userChrome.js

А можно закрыть вкладку повторным нажатием, но не окно.


Addons EdenceFM96

Отсутствует

 

№14118-12-2023 02:15:30

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 319
UA: Firefox 120.0

Re: userChrome.js

AlAvis пишет

leex
В about:config - dom.disable_beforeunload = true
userChrome.js тут не причём .


Благодарю!
Сработало.

Отсутствует

 

№14222-03-2024 21:59:06

Nich
Участник
 
Группа: Members
Зарегистрирован: 22-03-2024
Сообщений: 2
UA: Firefox 124.0

Re: userChrome.js

Народ привет.
Не совсем по 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);
    });
    
})();

Отсутствует

 

№14322-03-2024 22:59:57

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 248
UA: Google 2.1

Re: userChrome.js

Nich пишет

Не совсем по Firefox, как перенести этот js скрипт, чтобы работал на Vivaldi?

К сожалению для вас спешу огорчить, это низкоуровневый скрипт, который исполнятся на уровне ядра [firefox]

gBrowser

Выделить код

Код:

// ==UserScript==
// @include         main
// ==/UserScript==


директива означает что, этот скрипт загружаться раньше чем вы увидели что [firefox] загрузился, что касается chromium подобных сущностей, рекомендую обратить внимание на приставку Version.dll, попробуйте уговорить умельцев создать загрузчик на уровне ядра Chromium

О кстати

https://github.com/Bush2021/chrome_plus
Features

    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.


Вообще-то там это заявлено из коробки

Nich пишет

Vivaldi, как и Firefox, тоже поддерживает js скрипты.

когда увидите фразу

Firefox userChrome script

сразу проходите мимо, это не про Chromium Clones...

Отредактировано Farby (22-03-2024 23:20:01)


Жизнь иногда такое выкидывает, что хочется подобрать...

На форуме

 

№14423-03-2024 05:16:05

brake
Участник
 
Группа: Members
Зарегистрирован: 05-05-2022
Сообщений: 12
UA: Firefox 124.0

Re: userChrome.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

Отсутствует

 

№14523-03-2024 08:42:40

Nich
Участник
 
Группа: Members
Зарегистрирован: 22-03-2024
Сообщений: 2
UA: Firefox 124.0

Re: userChrome.js

brake пишет
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 скрипт активирует вкладку при наведении на нее, но не работает тогда выбор выделение вкладок, сбивается фокус, може есть какое нибудь решение?

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]