Для окна браузера - Включить скрипты: чекбокс "Для докум. окна браузера [ChromeOnly]"
и в CustomStylesScripts.jsm добавить в массив load: [ // По событию load или domload: [ // По событию DOMContentLoaded
нужные вам скрипты, как видите здесь уже добавленны в закомментированном виде Special Widgets и Auto Hide Sidebar
скрытый текстДа и параметр ucfobj должен быть true для моих скриптов (если не указано), и false или отсутствовать для других (если автором скрипта не указано обратное)
PS: custom_script_win.js и custom_script_all_win.js не нужно подключать в CustomStylesScripts.jsm
только в интерфейсе настроек включить "Для докум. окна браузера [ChromeOnly]" или "Для докум. всех окон [ChromeOnly]" соответственно
эти файлы не переименовывать и не удалять.
А custom_script.js можно раскомментировать в CustomStylesScripts.jsm ну или удалить или добавить с другим именем
Пока не ясно как это работает, но надеюсь разберусь
И кстати коды загрузчиков скриптов для custom_script_win.js custom_script_all_win.js также будут работать можете использовать их если нравится
Спасибо!
Win7
Отсутствует
Пока не ясно как это работает
А что не ясно, как работает (алгоритм, непонятно объяснил) или это не работает для вас?
Отсутствует
просто многовато изменений
Возможностей тоже прибавилось и потому что для более новых версий , 78+ теперь
было для 52+
Отредактировано Vitaliy V. (20-09-2021 18:51:06)
Отсутствует
Vitaliy V.
Спасибо за обновлённый комплект. Почти всё сразу заработало на подопытной 92.
Возникли только проблемы со скриптами для всех окон. ucf_wheretoopenlink.js и скрипты окна загрузок у меня не получилось запустить. В настройках включены все стили и скрипты. startupCache чистил постоянно.
Прописывал в CustomStylesScripts.jsm, поочерёдно в секции: domload: [ // По событию DOMContentLoaded, в load: [ // По событию load, по аналогии { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, с другими именами. Запустить удалось только по-старинке с добавлением загрузчика в custom_script_all_win.js
Не знаю может чего недопонял, неправильно сделал, да вроде и вариантов не много. Хорошо бы без загрузчиков запустить, как я понял из вашего поста, это возможно. Полный код CustomStylesScripts.jsm, как изначально, ну примерно так, прописывал незапустившиеся скрипты. ucjsDownloadsManager.uc.js прописывал тоже выше ucjsDownloadsManager2.uc.js
var EXPORTED_SYMBOLS = ["UcfStylesScripts"]; var UcfStylesScripts = { /* ************************▼ Настройки ▼************************ */ /** * Настройки стилей: * path: путь к файлу от папки custom_styles * type: права стиля AGENT_SHEET, AUTHOR_SHEET или USER_SHEET */ styleschrome: [ // Для докум. всех окон [ChromeOnly] // { path: "custom_styles_chrome_author.css", type: "AUTHOR_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "custom_styles_chrome_user.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "special_widget.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Special Widgets { path: "auto_hide_sidebar.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Auto Hide Sidebar ], stylesall: [ // Для всех документов // { path: "custom_styles_all_agent.css", type: "AGENT_SHEET", sheet() { registerSheet(this); }, }, // { path: "custom_styles_all_user.css", type: "USER_SHEET", sheet() { registerSheet(this); }, }, ], /** * Настройки скриптов: * path: путь к скрипту от папки custom_scripts * urlregxp: Адрес где работает скрипт в регулярном выражении, только Для докум. всех окон [ChromeOnly] * ucfobj: true - загружать скрипт в специально созданный объект либо в window, для скриптов В фоне [System Principal] не используется */ scriptschrome: { // Для докум. окна браузера [ChromeOnly] domload: [ // По событию DOMContentLoaded ], load: [ // По событию load // { path: "special_widgets.js", ucfobj: true, }, // <-- Special Widgets // { path: "auto_hide_sidebar.js", ucfobj: true, }, // <-- Auto Hide Sidebar { path: "scripts3/favicon_in_urlbar.js", ucfobj: true, }, { path: "scripts3/restart_item_in_menu.js", ucfobj: true, }, { path: "scripts3/urlbarhistorydropmarker.js", ucfobj: true, }, { path: "scripts3/contextmenuopenwith.js", ucfobj: true, }, { path: "scripts3/add_bookmark_to_bookmarks_menu.js", ucfobj: false, }, { path: "scripts3/pageInfo.js", ucfobj: false, }, { path: "scripts3/places_addBookmarks.js", ucfobj: false, }, { path: "scripts3/search_engine_icon.js", ucfobj: false, }, { path: "scripts3/tabs_focus.js", ucfobj: false, }, { path: "scripts3/tabstoolbar_doubleclick_opennewtab.js", ucfobj: false, }, { path: "scripts2/ucjsDownloadsManager.uc.js", ucfobj: false, }, ], }, scriptsallchrome: { // Для докум. всех окон [ChromeOnly] domload: [ // По событию DOMContentLoaded // { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, { path: "scripts2/ucjsDownloadsManager2.uc.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, ], load: [ // По событию load // { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, ], }, scriptsbackground: [ // В фоне [System Principal] { path: "custom_script.js", }, ], }; /* ************************▲ Настройки ▲************************ */ var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); var UcfSSS = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var preloadSheet = (obj, func) => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; let preload = UcfSSS.preloadSheet(uri, type); (obj.sheet = f => { try { f(preload, type); } catch (e) {} })(func); } catch (e) { obj.sheet = () => {}; } }; var registerSheet = async obj => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; if (!UcfSSS.sheetRegistered(uri, type)) UcfSSS.loadAndRegisterSheet(uri, type); } catch (e) {} };
Отредактировано sandro79 (20-09-2021 21:14:28)
Отсутствует
ucf_wheretoopenlink.js
Ок добавил ещё параметр где можно указать функцию которая выполнится при загрузке скрипта
func: Функция в виде строки которая выполнится при загрузке скрипта ...
вот так это должно выглядеть для окна библиотеки
load: [ // По событию load { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.places();" }, ],
pageshow: [ // По событию pageshow { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, func: "ucf_where_to_open_link.places();" }, ],
может чего недопонял, неправильно сделал
Да с чего вы взяли что ваш ucjsDownloadsManager это окно библиотеки? Там все вместе и заклади и загрузки...
Но и я накосячил с для события load, забыл передать url документа в фукцию
Однако по событию DOMContentLoaded у вас бы сработало с этим адресом
Отредактировано Vitaliy V. (21-09-2021 01:24:15)
Отсутствует
Ок добавил ещё параметр где можно указать функцию которая выполнится при загрузке скрипта
Я так понял, что это было добавлено в нижнюю секцию "Настройки", обновил в обоих файлах и обновил user_chrome.js. В окне библиотеке сработало, для CustomStylesScriptsChild.jsm не добавлял, в контенте не нужно. Но вот почему не работает из боковой панели, значка журнала на панели, журнала из панели меню, ну то есть, как я понимаю в окне браузера "Для докум. окна браузера"? Вот это самое главное, о чём я забыл упомянуть выше, что вообще нигде не работает, кроме как если добавить загрузчик в custom_script_all_win.js, хотя можно и в custom_script_win.js.
Да с чего вы взяли что ваш ucjsDownloadsManager это окно библиотеки?
Да, в ходе экспериментов я это понял, когда оставил в адресе в регулярном выражении только chrome:/ - так кажется и серипт заработал. Сейчас с вашим адресом тоже работает. Только вот с ucf_wheretoopenlink.js не могу до конца разобраться.
Код CustomStylesScripts.jsm на данный момент ниже. Добавил { path: "scripts2/ucf_wheretoopenlink.js", ucfobj: false, }, в секцию Для докум. окна браузера [ChromeOnly], не работает, это добавлял func: "ucf_where_to_open_link.places();", ни так ни так не идёт
var EXPORTED_SYMBOLS = ["UcfStylesScripts"]; var UcfStylesScripts = { /* ************************▼ Настройки ▼************************ */ /** * Настройки стилей: * path: путь к файлу от папки custom_styles * type: права стиля AGENT_SHEET, AUTHOR_SHEET или USER_SHEET */ styleschrome: [ // Для докум. всех окон [ChromeOnly] // { path: "custom_styles_chrome_author.css", type: "AUTHOR_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "custom_styles_chrome_user.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "special_widget.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Special Widgets { path: "auto_hide_sidebar.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Auto Hide Sidebar ], stylesall: [ // Для всех документов { path: "custom_styles_all_agent.css", type: "AGENT_SHEET", sheet() { registerSheet(this); }, }, // { path: "custom_styles_all_user.css", type: "USER_SHEET", sheet() { registerSheet(this); }, }, ], /** * Настройки скриптов: * path: путь к скрипту от папки custom_scripts * urlregxp: Адрес где работает скрипт в регулярном выражении, только Для докум. всех окон [ChromeOnly] * ucfobj: true - загружать скрипт в специально созданный объект либо в window, для скриптов В фоне [System Principal] не используется * func: Функция в виде строки которая выполнится при загрузке скрипта, только Для докум. всех окон [ChromeOnly] */ scriptschrome: { // Для докум. окна браузера [ChromeOnly] domload: [ // По событию DOMContentLoaded ], load: [ // По событию load // { path: "special_widgets.js", ucfobj: true, }, // <-- Special Widgets // { path: "auto_hide_sidebar.js", ucfobj: true, }, // <-- Auto Hide Sidebar { path: "scripts3/favicon_in_urlbar.js", ucfobj: true, }, { path: "scripts3/restart_item_in_menu.js", ucfobj: true, }, { path: "scripts3/urlbarhistorydropmarker.js", ucfobj: true, }, { path: "scripts3/contextmenuopenwith.js", ucfobj: true, }, { path: "scripts3/add_bookmark_to_bookmarks_menu.js", ucfobj: false, }, { path: "scripts3/pageInfo.js", ucfobj: false, }, { path: "scripts3/places_addBookmarks.js", ucfobj: false, }, { path: "scripts3/search_engine_icon.js", ucfobj: false, }, { path: "scripts3/tabs_focus.js", ucfobj: false, }, { path: "scripts3/tabstoolbar_doubleclick_opennewtab.js", ucfobj: false, }, { path: "scripts2/ucjsDownloadsManager.uc.js", ucfobj: false, }, { path: "scripts2/ucf_wheretoopenlink.js", ucfobj: false, }, ], }, scriptsallchrome: { // Для докум. всех окон [ChromeOnly] domload: [ // По событию DOMContentLoaded // { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, { path: "scripts2/ucjsDownloadsManager2.uc.js", urlregxp: /chrome:\/\/browser\/content\/downloads\/contentAreaDownloadsView\.xhtml/, ucfobj: false, }, ], load: [ // По событию load // { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.places();" }, ], }, scriptsbackground: [ // В фоне [System Principal] { path: "custom_script.js", }, ], }; /* ************************▲ Настройки ▲************************ */ var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); var UcfSSS = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var preloadSheet = (obj, func) => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; let preload = UcfSSS.preloadSheet(uri, type); (obj.sheet = f => { try { f(preload, type); } catch (e) {} })(func); } catch (e) { obj.sheet = () => {}; } }; var registerSheet = async obj => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; if (!UcfSSS.sheetRegistered(uri, type)) UcfSSS.loadAndRegisterSheet(uri, type); } catch (e) {} };
Отсутствует
sandro79
Вот так для браузера, но прежде обновите user_chrome.js я там поправил ещё
{ path: "scripts2/ucf_wheretoopenlink.js", ucfobj: false, func: "ucf_where_to_open_link.browser();" },
{ path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/bookmarksSidebar\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.bookmarksSidebar();" }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/historySidebar\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.historySidebar();" }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.places();" },
Дело в том что нужно разные функции добавлять, а это "ucf_where_to_open_link.places();" только для библиотеки
Иначе этот скрипт пришлось бы делить на 4 части, или в скрипте снова проверять url, а так в каждом документе выполняется разный код при вызове этих функций
Отредактировано Vitaliy V. (21-09-2021 03:05:22)
Отсутствует
Vitaliy V.
Обновил user_chrome.js, пути с функциями прописал, заработало везде. Ну теперь всё в принципе настроено. Для контента тоже добавил, раз есть возможность лишним не будет.
custom_script.js с кнопками и скриптами LinkWinActor и UCFNewTabPage, сменой иконки поиковика, пока по-старинке с загрузчиком оставил. Вечером наверно тоже переподключу по-новому. Огромное Спасибо, буду тестировать.
var EXPORTED_SYMBOLS = ["UcfStylesScripts"]; var UcfStylesScripts = { /* ************************▼ Настройки ▼************************ */ /** * Настройки стилей: * path: путь к файлу от папки custom_styles * type: права стиля AGENT_SHEET, AUTHOR_SHEET или USER_SHEET */ styleschrome: [ // Для докум. всех окон [ChromeOnly] // { path: "custom_styles_chrome_author.css", type: "AUTHOR_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "custom_styles_chrome_user.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "special_widget.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Special Widgets { path: "auto_hide_sidebar.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Auto Hide Sidebar ], stylesall: [ // Для всех документов { path: "custom_styles_all_agent.css", type: "AGENT_SHEET", sheet() { registerSheet(this); }, }, // { path: "custom_styles_all_user.css", type: "USER_SHEET", sheet() { registerSheet(this); }, }, ], /** * Настройки скриптов: * path: путь к скрипту от папки custom_scripts * urlregxp: Адрес где работает скрипт в регулярном выражении, только Для докум. всех окон [ChromeOnly] * ucfobj: true - загружать скрипт в специально созданный объект либо в window, для скриптов В фоне [System Principal] не используется * func: Функция в виде строки которая выполнится при загрузке скрипта, только Для докум. всех окон [ChromeOnly] */ scriptschrome: { // Для докум. окна браузера [ChromeOnly] domload: [ // По событию DOMContentLoaded ], load: [ // По событию load // { path: "special_widgets.js", ucfobj: true, }, // <-- Special Widgets // { path: "auto_hide_sidebar.js", ucfobj: true, }, // <-- Auto Hide Sidebar { path: "scripts3/favicon_in_urlbar.js", ucfobj: true, }, { path: "scripts3/restart_item_in_menu.js", ucfobj: true, }, { path: "scripts3/urlbarhistorydropmarker.js", ucfobj: true, }, { path: "scripts3/contextmenuopenwith.js", ucfobj: true, }, { path: "scripts3/add_bookmark_to_bookmarks_menu.js", ucfobj: false, }, { path: "scripts3/pageInfo.js", ucfobj: false, }, { path: "scripts3/places_addBookmarks.js", ucfobj: false, }, { path: "scripts3/search_engine_icon.js", ucfobj: false, }, { path: "scripts3/tabs_focus.js", ucfobj: false, }, { path: "scripts3/tabstoolbar_doubleclick_opennewtab.js", ucfobj: false, }, { path: "scripts2/ucjsDownloadsManager.uc.js", ucfobj: false, }, { path: "scripts2/ucf_wheretoopenlink.js", ucfobj: false, func: "ucf_where_to_open_link.browser();" }, ], }, scriptsallchrome: { // Для докум. всех окон [ChromeOnly] domload: [ // По событию DOMContentLoaded // { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, { path: "scripts2/ucjsDownloadsManager2.uc.js", urlregxp: /chrome:\/\/browser\/content\/downloads\/contentAreaDownloadsView\.xhtml/, ucfobj: false, }, ], load: [ // По событию load // { path: "example_places.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.places();" }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/bookmarksSidebar\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.bookmarksSidebar();" }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/historySidebar\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.historySidebar();" }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, ucfobj: false, func: "ucf_where_to_open_link.places();" }, ], }, scriptsbackground: [ // В фоне [System Principal] { path: "scripts/add-sound-realtek-app.js", }, { path: "scripts/Close-Tabs-button.js", }, { path: "scripts/downloadPauseResumeButton.js", }, { path: "scripts/ExtensionOptionsMenu.js", }, { path: "scripts/LinkWinActor.js", }, { path: "scripts/PotPlayer.js", }, { path: "scripts/To_switch_proxy.js", }, { path: "scripts/ucf-copyURL.js", }, { path: "scripts/UCFNewTabPage.js", }, { path: "scripts/undo_closetab_button.js", }, { path: "scripts/yandex@search.js", }, ], }; /* ************************▲ Настройки ▲************************ */ var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); var UcfSSS = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var preloadSheet = (obj, func) => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; let preload = UcfSSS.preloadSheet(uri, type); (obj.sheet = f => { try { f(preload, type); } catch (e) {} })(func); } catch (e) { obj.sheet = () => {}; } }; var registerSheet = async obj => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; if (!UcfSSS.sheetRegistered(uri, type)) UcfSSS.loadAndRegisterSheet(uri, type); } catch (e) {} };
var EXPORTED_SYMBOLS = ["UcfCustomStylesScriptsChild"]; var UcfStylesScripts = { /* ************************▼ Настройки ▼************************ */ /** * Настройки стилей: * path: путь к файлу от папки custom_styles * type: права стиля AGENT_SHEET, AUTHOR_SHEET или USER_SHEET */ stylescontent: [ // { path: "custom_styles_content_author.css", type: "AUTHOR_SHEET", sheet(f) { preloadSheet(this, f); }, }, { path: "custom_styles_content_user.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, ], /** * Настройки скриптов: * path: путь к скрипту от папки custom_scripts * urlregxp: Адрес где работает скрипт, в регулярном выражении * func: Функция в виде строки которая выполнится при загрузке скрипта */ scriptscontent: { DOMWindowCreated: [ // По событию DOMWindowCreated // { path: "example_all_about.js", urlregxp: /about:.*/, }, ], pageshow: [ // По событию pageshow // { path: "example_downloads.js", urlregxp: /about:downloads/, }, { path: "scripts2/ucf_wheretoopenlink.js", urlregxp: /chrome:\/\/browser\/content\/places\/places\.xhtml/, func: "ucf_where_to_open_link.places();" }, { path: "scripts2/ucjsDownloadsManager2.uc.js", urlregxp: /about:downloads/, }, ], }, }; /* ************************▲ Настройки ▲************************ */ var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); var UcfSSS = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var preloadSheet = async (obj, func) => { try { let uri = Services.io.newURI(`chrome://user_chrome_files/content/custom_styles/${obj.path}`); let type = UcfSSS[obj.type]; let preload = await UcfSSS.preloadSheetAsync(uri, type); (obj.sheet = f => { try { f(preload, type); } catch (e) {} })(func); } catch (e) { obj.sheet = () => {}; } }; class UcfCustomStylesScriptsChild extends JSWindowActorChild { actorCreated() { var win = this.contentWindow; var href = this.href = win?.location.href; if (!href) return; var { addSheet } = win.windowUtils; for (let s of UcfStylesScripts.stylescontent) s.sheet(addSheet); } handleEvent(e) { var href = this.href; if (!href || href === "about:blank") return; for (let s of UcfStylesScripts.scriptscontent[e.type]) { try { if (s.urlregxp.test(href)) { let win = this.contentWindow; Services.scriptloader.loadSubScript(`chrome://user_chrome_files/content/custom_scripts/${s.path}`, win, "UTF-8"); if (s.func) new win.Function(s.func).apply(win, null); } } catch (e) {} } } }
Отредактировано sandro79 (21-09-2021 11:35:29)
Отсутствует
Vitaliy V.
Спасибо за обновление. Уведомления пропали у этого скрипта, как их вернуть? Сейчас подключен в CustomStylesScripts.jsm, в scriptsbackground.
try { ((img, preventClearThumbs) => { CustomizableUI.createWidget({ id: "bt-clear-part-history", label: "Очистить историю", tooltiptext: "Очистить историю", defaultArea: CustomizableUI.AREA_NAVBAR, onCreated: function(bt) { bt.image = img; }, onCommand: function(event) { var win = event.target.ownerDocument.defaultView; var itemsToClear = [ "cookies", "history", "formdata", "sessions", "cache", // "downloads", // "offlineApps", // "openWindows", "pluginData", // "siteSettings", ]; var range = win.Sanitizer.getClearRange(0); // Диапазон очистки, 0 = все, 1,2,3 = часы, 4 = сегодня win.Sanitizer.sanitize(itemsToClear, { ignoreTimespan: !range, range, }).then(() => { var alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService); alertsService.showAlertNotification(img, "Данные очищены!", "", false); win.setTimeout(()=> alertsService.closeAlert(), 2000); }); } }); })("data:image/png;base64,i...", null); } catch(e) {}
Отредактировано _zt (21-09-2021 14:56:50)
Отсутствует
Уведомления пропали у этого скрипта, как их вернуть? ... "data:image/png;base64,i..."
Иконки то нет поэтому и не показывает нет не поэтому, значит у вас ошибка возникает во время очистки, консоль смотрите что пишет
В CustomStylesScripts.jsm присутстуют раскомментированные строки:
Это я из FullTheme забыл убрать прежде чем отправить
Обновил в FullTheme файлы: common.css, CustomStylesScripts.jsm, CustomStylesScriptsChild.jsm
и в UserChromeFiles файлы: user_chrome.js, CustomStylesScripts.jsm, CustomStylesScriptsChild.jsm
Отредактировано Vitaliy V. (21-09-2021 21:11:52)
Отсутствует
Vitaliy V.
Error: Could not get children of file(...\LocalAppData\Temp\thumbnails) because it does not exist PromiseWorker.jsm:106
На старом то ucf этот скрипт уведомление выводит. Иконку я здесь из кода удалил так как много места занимает.
Проверил на старом ucf, уведомление есть. thumbnails отключаю уже много лет и уведомлениям это никогда не мешало, да и с удаленным browser.pagethumbnails.capturing_disabled, в этой версии ucf, уведомлений нет, а папка все равно по тому пути не создается.
Отредактировано _zt (21-09-2021 21:34:55)
Отсутствует
Error: Could not get children of file(...\LocalAppData\Temp\thumbnails) because it does not exist PromiseWorker.jsm:106
На старом то ucf этот скрипт уведомление выводит.
Какое отношение имеет ucf к глюкам при очистке миниатюр сайтов, у вас же не может установленно на одном и том же профиле одновременно старый и новый ucf, чтобы это утверждать, а если профили разные то и подавно. Проверте есть ли такая ошибка при штатной очистке из браузера, если хотите с ucf и без
Отсутствует
Vitaliy V.
Профиль один и тот же, я только его собрал и тут вы со своим обновлением. (шутка) Я его пересобрал, на тех же скриптах, стилях, расширениях и с теми же конфигами, за исключением вашего config.js. Отвалился стиль для адресной строки из userChrome.css, пришлось его перенести в CustomStylesScripts.jsm в секцию styleschrome с правами USER_SHEET, никак по другому он не заработал. Скрипты из custom_script.js я все переподключил в CustomStylesScripts.jsm в секцию scriptsbackground, в том числе и обсуждаемый. Скрипты custom_script_win.js оставил на месте, так как решил не заморачиваться. Скриптов custom_script_all_win.js у меня не оказалось. Т.е. две проблемы стиль и этот скрипт. Ясен пень, что ucf виноват.
Но оказалось все проще, смотрите мультики:
Отсутствует
Vitaliy V.
А можно как-то вернуть в новый UCF возможность использования стилей для веб-страниц через файл custom_styles_content_user.css?
Может опцией, если надо может, чтоб включить можно было в CustomStylesScriptsChild.jsm. У меня в старом комплекте в custom_style_user.css добавлено несколько кодов для страниц, в частности, очень нужный для меня :root { text-decoration-skip-ink: none;}, для этого форума стиль.
Можно конечно включить toolkit.legacyUserProfileCustomizations.stylesheets, добавить в папку chrome файл userContent.css и по-старинке использовать, но это не работает в безопасном режиме, да и вообще... Вообще удобно в старом UCF то, что стили и для интерфейса и для страниц можно использовать/подгонять в одном файле css.
Этот код, только с regexp, тоже использую для веб-страниц
@-moz-document regexp("(?:https?|ftp|file):\/\/.*") { input, textarea { /* border: 1px solid rgba(131,137,150,.5); */ outline: 1px solid transparent; } }
Отсутствует
А в новом в custom_styles_all_user.css
Да, работает там, в трёх соснах заблудился. Спасибо за подсказку Вот надо же, так облажаться
И chrome и content работает, как и в старом. Всё отлично.
Отредактировано sandro79 (22-09-2021 11:28:01)
Отсутствует
del
Отредактировано Vitaliy V. (22-04-2024 15:33:41)
Отсутствует
Vitaliy V.
Починилось.
Нашел еще несколько проблем, давайте по порядку, так как возможно они взаимосвязаны:
Вот я просто слов без мата не нахожу, что бы описать этот цвет, именно в этом диалоге оно где, в common.css ?
@media (-moz-toolbar-prefers-color-scheme: dark) {
:root, dialog, menu-button, login-filter, login-item, login-intro, login-list, fxaccounts-button, remove-logins-dialog,
import-error-dialog, import-summary-dialog, confirmation-dialog, info-item, message-bar, addon-updates-message {
>>
--in-content-primary-button-background: var(--blue-50) !important;
Если да, то тогда оно не работает, цвет не меняется. В --blue-50 тоже.
После переноса в userChrome.css правило работает.
Отредактировано _zt (23-09-2021 15:28:55)
Отсутствует
rubel
https://forum.mozilla-russia.org/viewto … 75#p789675
Add,
Отредактировано kokoss (23-09-2021 12:24:41)
Win7
Отсутствует
оно где, в common.css ?
Нет в common.css только контент.
В common_win.css я некоторые окна добавил, это туда же url("chrome://browser/content/places/bookmarkProperties.xhtml")
Ну я потом добавлю другие окна где есть <dialog>
Вроде готово, обновил FullTheme
и UserChromeFiles ещё раз обновил надеюсь пока больше не буду трогать если только баг всплывет.
upd: обновил Sidebar Tabs и Тултипы с URL https://forum.mozilla-russia.org/viewto … 02#p792702
Отредактировано Vitaliy V. (24-09-2021 13:41:21)
Отсутствует
Можете объяснить?
А что тут объяснять
Отключили переменную в chrome://global/skin/in-content/common.css
для темной темы
@media (-moz-toolbar-prefers-color-scheme: dark)
Но переменная для светлой темы осталась именно она и дает этот синий цвет
а не от FullTheme. Ну или это вы там что-то наподключали, но такого цвета #2b71e4 в моей теме нет.
Впрочем gif же у вас цвет искажен скорее всего
Отредактировано Vitaliy V. (24-09-2021 18:41:42)
Отсутствует