Загружал куда?
Да по месту назначения -> для создания кнопок с помощью CustomizableUI.createWidget
Каждый скрипт отдельная кнопка. Ну както так.
Добавлено 16-12-2021 21:36:19
попробовал из этого поста, грузится без дополнительных нагрузок
Отредактировано Farby (16-12-2021 21:36:19)
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
Да по месту назначения -> для создания кнопок с помощью CustomizableUI.createWidget
То есть нужен аналог того, куда грузится UCF custom_script.js
Но туда ещё много всякого добра проброшено, и хром-регистрация
на папку не помешала бы.
Это всё можно попробовать записать, но, определённо, не для Googlebot'а.
Что за радость отсвечивать здесь фейковым юзерагентом?
Чтобы переспрашивали для какой версии какого браузера вопрос?
Отсутствует
То есть нужен аналог того, куда грузится UCF custom_script.js
Добрый день!
Точно и без всяких дополнителных плюшек, кроме одной загрузки (запуска) скриптов из указанной директории (папки) типа *.js
ЗЫ. real UA: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
ЗЫы. Да гоогля-бот, зато форум всегда определяет UA. и не посыраут в разных местах куда обновиться, долго жил на привычки остались....
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
без всяких дополнителных плюшек
Совсем без плюшек есть вероятность несовместимости.
Firefox/91.0
paths — путь до папки со скриптами (.js, .jsm), в данном случае %Профиль%\Folder\SubFolder\
content — хром-регистрация на эту папку, в данном случае chrome://farby/content/
(async (svc, xpc, cui) => { var paths = ["Folder", "SubFolder"], content = "farby"; var {ChromeUtils} = Cu.getGlobalForObject(Cu), imp = ChromeUtils.import; var {Services} = imp(svc), {XPCOMUtils} = imp(xpc), {CustomizableUI} = imp(cui); var sb = Cu.Sandbox(Cu.getObjectPrincipal(this), {wantComponents: true, sandboxName: "FarbyBox"}); Object.assign(sb, {Services, XPCOMUtils, CustomizableUI, ChromeUtils}); XPCOMUtils.defineLazyGlobalGetters(sb, [ "atob", "btoa", "crypto", "fetch", "Blob", "CSS", "CSSRule", "Document", "DOMException", "DOMParser", "Element", "Event", "File", "FileReader", "FormData", "Headers", "InspectorUtils", "Node", "NodeFilter", "Range", "Selection", "TextDecoder", "TextEncoder", "URL", "URLSearchParams", "XMLHttpRequest", "XMLSerializer" ]); var m = {console: "Console", OS: "osfile"}; m.AddonManager = m.AppConstants = m.E10SUtils = m.FileUtils = m.PlacesUtils = false; for (var [key, val] of Object.entries(m)) m[key] = `resource://gre/modules/${val || key}.jsm`; m.setTimeout = m.setTimeoutWithTarget = m.clearTimeout = m.setInterval = m.setIntervalWithTarget = m.clearInterval = "resource://gre/modules/Timer.jsm"; XPCOMUtils.defineLazyModuleGetters(sb, m); var dir = Services.dirsvc.get("ProfD", Ci.nsIFile); paths.forEach(dir.append); var ams = Cc["@mozilla.org/addons/addon-manager-startup;1"].getService(Ci.amIAddonManagerStartup); sb[Symbol()] = ams.registerChrome(Services.io.newFileURI(dir), [["content", content, paths.pop() + "/"]]); var re = /\.js(m)?$/, lss = Services.scriptloader.loadSubScript, prfx = `chrome://${content}/content/`; for(var {leafName} of dir.directoryEntries) if (re.test(leafName)) try {RegExp.$1 ? imp(prfx + leafName) : lss(prfx + leafName, sb);} catch(ex) {Cu.reportError(ex);} })("resource://gre/modules/Services.jsm", "resource://gre/modules/XPCOMUtils.jsm", "resource:///modules/CustomizableUI.jsm");
Отредактировано Dumby (17-12-2021 16:50:05)
Отсутствует
https://forum.mozilla-russia.org/viewtopic.php?pid=796920#p796920
ООО ЁЁЁЁ шикарно, пойду прикручавать.... Dumby Вы лучший!!!!
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует