Dumby
Класс ! Про кавычки то забыл...Да, не посмотрите ,где косяк в 105, после перетрубаций почто любых , то пункт двоится, то икона пропадает
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041F%u043E%u0438%u0441%u043A%20%20Image%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJWQB9QgCGZACCSACPRgB1TwCDYgB+UQCMVwB3WgCNRQCBTgB2WACDagAAAACRSgD/mRf/pyj/pAr/mSD/nCL/ph//nBz/mhv/mhH/mRz/mhn/mif/oyH/nBxxUAD/jhP/hwr/jwX/hQH/iQj/fgD/hQv/ggH/jgftgwDofgD/iAP/iQb/fQH/igb/gwz/iAL/jxz/jxj/kA//jhH/zH7/15z/y5f/1Yv/6pT/nirVZwD/hQj/iAX0fwD/hgD/lg//mA7/kQ3/mBT/3YL/ulv7WQDJSQDfYQD/giD/zKX/ty7yhQD/hQf/gAD/ihD/oBX/nRr/lhP/t2P/wnyjQAC6UQC1VQC7UgDMZQD/dAv/3LjldQD/igL/hgv/kgD/nRf/oyf/mw3/0ZnfZQCGPACmQQDBSwC2RgDDTADTVQD/t3n/nDr/hAL8hQD/hQf/piL/ohv/nR//3m2sYAB/LACaKwC3QwCySACxRQDcUgD/tln/pCr/iwH/hgD/iQH/pB3/qS3/niL/y33kcAB0LwBnJwCEOgCfTACgSAC7TAD/uG7/nRz/hAj/iAP/iAD/rC//rS7/qxj/uTz/xpdhLQBwKgBsLABvOACXNwDnXQD/2qf/lgj/mET/t2r/gxP/tTf/tif/qTP/riD/1Hv/2Xa1WAB/KgBuJgD1cAD/3Zj/r03/mwP/x3f/+OT/jAwAAAD/wTn/ty3/rzv/syb/uV//4qX/6p//4q//24X/qzL/oBP/lwr/kQz/igIAAAAAAAAAAAAAAAAAAAD/tzT/oyf/sSn/sCL/pyj/mx7/mSX/lAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sSr/riX/qTj/qRf/oxH/pBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAA8A8AAPgfAAD//wAA%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E2%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u043F%u043E%u0434%u043C%u0435%u043D%u044E%20%22%u041F%u043E%u0438%u0441%u043A%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u044F%20%u0432%22%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u043C%20%u043C%u0435%u043D%u044E%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0439%2C%20%u043E%u0442%2002.06.2019.%20.............%0A%28%28%29%3D%3E%20%7B%0A%20%20%20var%20copyimage%20%3D%20document.getElementById%28%22context-copyimage-contents%22%29%3B%0A%20%20%20var%20contextMenu%20%3D%20copyimage.parentNode%3B%0A%0A%20%20var%20array%20%3D%20%5B%0A%20%20%20%20%20%20%5B%27Google%27%2C%20%27https%3A//www.google.lv/favicon.ico%27%2C%20%27http%3A//www.google.com/searchbyimage%3Fimage_url%3D%27%5D%2C%0A%20%20%20%20%20%20%5B%27%u042F%u043D%u0434%u0435%u043A%u0441%27%2C%20%27http%3A//yastatic.net/morda-logo/i/favicon_islands.ico%27%2C%20%27https%3A//yandex.com/images/search%3Frpt%3Dimageview%26img_url%3D%27%5D%2C%0A%20%20%20%20%20%20%5B%27Bing%27%2C%20%27https%3A//www.bing.com/s/a/bing_p.ico%27%2C%20%27https%3A//www.bing.com/images/searchbyimage%3FFORM%3DIRSBIQ%26cbir%3Dsbi%26imgurl%3D%27%5D%2C%0A%20%20%20%20%20%20%5B%27Tineye%27%2C%20%27http%3A//tineye.com/favicon.ico%27%2C%20%27http%3A//tineye.com/search%3Fpluginver%3Dbookmark_1.0%26url%3D%27%5D%2C%0A%20%20%20%20%20%20%5B%27SauceNao%27%2C%20%27https%3A//saucenao.com/favicon.ico%27%2C%20%27https%3A//saucenao.com/search.php%3Furl%3D%27%5D%2C%0A%20%20%20%20%20%20%5B%27IQDB%27%2C%20%27https%3A//iqdb.org/favicon.ico%27%2C%20%27https%3A//iqdb.org/%3Furl%3D%27%5D%2C%0A%20%20%20%5D%3B%0A%20%20%0A%20%20%20var%20menu%20%3D%20contextMenu.insertBefore%28document.createXULElement%28%22menu%22%29%2C%20copyimage%29%3B%20%0A%20%20%20menu.setAttribute%28%22label%22%2C%20%22%u041F%u043E%u0438%u0441%u043A%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u044F%20%u0432%20...%22%29%3B%0A%20%20%20menu.setAttribute%28%22class%22%2C%20%22menu-iconic%22%29%3B%0A%20%20%20menu.setAttribute%28%22image%22%2C%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJWQB9QgCGZACCSACPRgB1TwCDYgB+UQCMVwB3WgCNRQCBTgB2WACDagAAAACRSgD/mRf/pyj/pAr/mSD/nCL/ph//nBz/mhv/mhH/mRz/mhn/mif/oyH/nBxxUAD/jhP/hwr/jwX/hQH/iQj/fgD/hQv/ggH/jgftgwDofgD/iAP/iQb/fQH/igb/gwz/iAL/jxz/jxj/kA//jhH/zH7/15z/y5f/1Yv/6pT/nirVZwD/hQj/iAX0fwD/hgD/lg//mA7/kQ3/mBT/3YL/ulv7WQDJSQDfYQD/giD/zKX/ty7yhQD/hQf/gAD/ihD/oBX/nRr/lhP/t2P/wnyjQAC6UQC1VQC7UgDMZQD/dAv/3LjldQD/igL/hgv/kgD/nRf/oyf/mw3/0ZnfZQCGPACmQQDBSwC2RgDDTADTVQD/t3n/nDr/hAL8hQD/hQf/piL/ohv/nR//3m2sYAB/LACaKwC3QwCySACxRQDcUgD/tln/pCr/iwH/hgD/iQH/pB3/qS3/niL/y33kcAB0LwBnJwCEOgCfTACgSAC7TAD/uG7/nRz/hAj/iAP/iAD/rC//rS7/qxj/uTz/xpdhLQBwKgBsLABvOACXNwDnXQD/2qf/lgj/mET/t2r/gxP/tTf/tif/qTP/riD/1Hv/2Xa1WAB/KgBuJgD1cAD/3Zj/r03/mwP/x3f/+OT/jAwAAAD/wTn/ty3/rzv/syb/uV//4qX/6p//4q//24X/qzL/oBP/lwr/kQz/igIAAAAAAAAAAAAAAAAAAAD/tzT/oyf/sSn/sCL/pyj/mx7/mSX/lAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sSr/riX/qTj/qRf/oxH/pBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAA8A8AAPgfAAD//wAA%22%29%3B%0A%20%20%20menu.onclick%20%3De%3D%3E%20%7B%20e.target.nodeName%20%3D%3D%20%27menu%27%20%26%26%20search%28array%5B0%5D%5B2%5D%29%3B%20setTimeout%28%28%29%3D%3E%20contextMenu.hidePopup%28%29%2C%2020%29%20%7D%3B%0A%20%20%20addEventListener%28%22popupshowing%22%2C%20%28%29%3D%3E%20menu.hidden%20%3D%20copyimage.hidden%2C%20true%2C%20contextMenu%29%3B%0A%20%20%20addDestructor%28%28%29%3D%3E%20menuitem.remove%28%29%29%3B%0A%0A%20%20%20var%20menuPopup%20%3D%20menu.appendChild%28document.createXULElement%28%22menupopup%22%29%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20array.forEach%28m%3D%3E%20%7B%0A%20%20%20%20%20%20var%20mItem%20%3D%20menuPopup.appendChild%28document.createXULElement%28%22menuitem%22%29%29%3B%0A%20%20%20%20%20%20mItem.setAttribute%28%22label%22%2C%20m%5B0%5D%29%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20mItem.setAttribute%28%22image%22%2C%20m%5B1%5D%29%3B%0A%20%20%20%20%20%20mItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0A%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20search%28m%5B2%5D%29%3B%0A%20%20%20%7D%29%3B%0A%20%20%20%0A%20%20%20%20%20%20%20%0A%20%20%0A%20%20%20%0A%20%20%20function%20search%28finder%29%20%7B%20gBrowser.selectedTab%20%3D%20gBrowser.addTrustedTab%28finder%20+%20encodeURIComponent%28gContextMenu.MediaURL%29%29%20%7D%3B%0A%20%20%0A%20%20%20var%20mItem%20%3D%20menuPopup.appendChild%28document.createXULElement%28%22menuitem%22%29%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20%27%u0418%u0441%u043A%u0430%u0442%u044C%20%u0432%u043E%20%u0432%u0441%u0435%u0445%20%u043F%u043E%u0438%u0441%u043A%u043E%u0432%u0438%u043A%u0430%u0445%27%29%3B%0A%20%20%20%20%20mItem.setAttribute%28%22class%22%2C%22menuitem-iconic%22%29%3B%0A%20%20%20%20%20%20%20%20mItem.setAttribute%28%22image%22%2C%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADZElEQVR42oXSe0xbVRwH8N8597a35e7SAmUFukGhY66AMiNzw4GvTCQLCssc4pQsmTOa+ERMlrktW1zigpnEuWn8x2eMmiVGMBDCFjS+cJHEDIk8RoSNV1+3tLWX3t72nnO8sETJFrfvP7/k5Pw+Ob9fDoLrYi8ow9GFUbq+5aRLrGraqQcX6hlF2wkFEWn6EDIJAyQy9+3VT58cWb6PrmvmjGZS/FSHlxbXtbtLobGqJlPKMhNepWb0V8hKpi8FNd/gzCCogbdmvtg/8C9gz9+Eor5x5nn2tDOZ98Dx2i3C/uYai9mOGCxiDQIIg1/PgUCEhyvDMox9PXYBkPzaaoAzAFL0yle7ShtqO/eWJ9w1vJ1oGsVzYhTNATMQG4Q1G40ldDw6PB339fs7VgMmA0jnHfioo6F9Z3tDYYJzKSZKMYcDvAILiICfZUNYEYFixMKpKBk8MfTTasBsACnngU/6Wg4+VL/VFSOmBHAYY1BAhzAvgmyMEIkh0EUOBD1Eu49eStwA5D3z4TcPv9TYdHvxEhXSGgaEIMkJkKAS+ONmSKYolOVqMBlRSd8bv8v/AQXlJoiHUE5rZ1tFa/Nhj1uVrCaNMoQxYSaIqDxAGqAuQ2XZ1iS8HUTpkZMXe1eATOdtiCcJblGe1a3PnWp0uEvfv3tbeX5RhSet/q3wxh6xgAncZUmw2hxEryQx9/LHE7I2RV5HNudGFAtcZsuQd919u/kiz56JOwobcjd6xerqKnB4HIB4RvMzCM1DGj8X0GD64pL2Xdf850z+4djKC8wl24XUpj1P75sdfe/+sSHoq3uQnSuwa+s2Vy5uubd2jQWUTAYchJK8HpyIzvv7p/rMkV/OzPeeGEWi+x6LufiR573h8VO7Zr4n9fEZNeiqXHOofFvPsKPkS1fKsX5JU6uNZQh8Wh/hRcuvOC3/fLXrcGj52yOo7zzU9udvbzbN9uglggK2MhsnvfiE0tY9tfed7vM98D+x53tx1DdG0Z2b97Ejf3SRSiGGCysyENvdoipZa4+/8NmPp8+N+Ei2ZEVpQhG71rdcqFFozD+xcoQugFUvlDS8wWsl8Uebk5C79ujjHwyc6R/309ysDBRauEzhJkG9ErAdG0xEe6yVkwqcr+549/zZgcmQ7pAEkH2TDG6RfwCoJI0uEWJP5QAAAABJRU5ErkJggg%3D%3D%22%29%3B%20%20%20%0A%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20%7B%20array.forEach%28m%3D%3E%20%7B%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTrustedTab%28m%5B2%5D%20+%20encodeURIComponent%28gContextMenu.MediaURL%29%29%20%7D%29%20%7D%3B%0A%20%20%0A%7D%29%28%29%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%0A%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5C%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
Да я за кнопку Искать изображение
А я за сообщение, которое прямо перед твоим вопросом про setToolbarVisibility.
Отсутствует
Dumby
Вот это новость.
Так я впервые вижу, чтоб кнопка себя дублировала))
Заметил что у дублката нет иконки?
Это, как говорится, «здесь вам не XBL». Вот так лучше уже не делать
А начиная с какой версии так не делать? Или в принципе вообще ни на какой?
Огромное спасибо за объяснение и поправки! Всё переделал, больше не двоится, иконка на месте)) код в сообщении выше тоже поправил.
И можно ещё один вопрос по картинкам в контекстном меню? Есть старый код для , работает в PM. Иконку для menu я ему сделал без проблем, а вот для menuitem идёт перебор объектов, или как он правильно называется, не знаю, вот то, что вы сделали в расширении, ${id}. И у меня не получается его сделать, пробовал варианты из других скриптов и из работающих вариантов OpenWith, или меню совсем пропадает, или вот такой вариант выдаёт:
/* OpenURLWith.uc.js * Open an application with the current page's URL. */ (function OpenURLWith() { if (location != "chrome://browser/content/browser.xul") return; const MENU_LABEL = "Открыть в..."; const MENU_ACCESSKEY = "ö"; const FIREFOX_PATH = "H:\\Browsers\\mypal-68.12.4.en-US.win32\\mypal\\mypal.exe"; const IE_PATH = "E:\\Portable\\Browsers\\360 Extreme Explorer\\X-360cse.exe"; const OPERA_PATH = "E:\\Portable\\Browsers\\palemoonNM28XP\\nm\\palemoon.exe"; const CHROME_PATH = "E:\\Portable\\Citrio50Portable\\Citrio.exe"; var mMenus = [ { label: "mypal-68 (Link)", accesskey: "F", application: FIREFOX_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "360 Extreme Explorer (Link)", accesskey: "I", application: IE_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "NewMoon 28 (Link)", accesskey: "O", application: OPERA_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "Citrio (Link)", accesskey: "C", application: CHROME_PATH, get url() { return gContextMenu.linkURL; }, get shouldDisplay() { return gContextMenu.onLink; } }, { label: "-", get shouldDisplay() { return gContextMenu.onLink; } }, { label: "mypal-68 (Seite)", accesskey: "F", application: FIREFOX_PATH, get url() { return content.location.href; }, }, { label: "360 Extreme Explorer (Seite)", accesskey: "I", application: IE_PATH, get url() { return content.location.href; }, }, { label: "NewMoon 28 (Seite)", accesskey: "O", application: OPERA_PATH, get url() { return content.location.href; }, }, { label: "Citrio (Seite)", accesskey: "C", application: CHROME_PATH, get url() { return content.location.href; }, }, { label: "-", get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "mypal-68", accesskey: "F", application: FIREFOX_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "360 Extreme Explorer", accesskey: "I", application: IE_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "NewMoon 28", accesskey: "O", application: OPERA_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } }, { label: "Citrio", accesskey: "C", application: CHROME_PATH, get url() { return document.commandDispatcher.focusedWindow.location.href; }, get shouldDisplay() { return gContextMenu.inFrame; } } ]; init: { let parentMenu = document.createElement("menu"); parentMenu.setAttribute("label", MENU_LABEL); parentMenu.setAttribute("id", "ucjs_openurlwith-menu"); parentMenu.setAttribute("class", "menu-iconic"); parentMenu.setAttribute("image", "about:logo"); if (typeof MENU_ACCESSKEY != "undefined" && MENU_ACCESSKEY) parentMenu.setAttribute("accesskey", MENU_ACCESSKEY); document.getElementById("contentAreaContextMenu").insertBefore( parentMenu, document.getElementById("context-sep-properties")); let parentPopup = document.createElement("menupopup"); parentPopup.id = "ucjs_openurlwith-popup"; parentPopup.addEventListener("command", openApplication, false); parentMenu.appendChild(parentPopup); for (let i = 0, menu; menu = mMenus[i]; i++) { let menuItem; if (menu.label == "-") { menuItem = document.createElement("menuseparator"); } else { menuItem = document.createElement("menuitem"); menuItem.setAttribute("label", menu.label); menuItem.setAttribute("id", "ucjs_openurlwith-"+menu.label.replace(/[()\s]/g,"")); menuItem.setAttribute("class", "menuitem-iconic"); menuItem.setAttribute("image", "moz-icon://file://" + menu.label.Path); if ("accesskey" in menu) menuItem.setAttribute("accesskey", menu.accesskey); menuItem.ouwMenu = menu; } parentPopup.appendChild(menuItem); } parentMenu.parentNode.addEventListener("popupshowing", setMenuDisplay, false); } function openApplication(aEvent) { var menu = aEvent.target.ouwMenu; var app = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); app.initWithPath(menu.application); if (!app.exists()) { alert("Die Datei existiert nicht: " + menu.application); return; } Cc["@mozilla.org/browser/shell-service;1"] .getService(Ci.nsIShellService_MOZILLA_1_8_BRANCH || Ci.nsIShellService) .openApplicationWithURI(app, menu.url); } function setMenuDisplay() { var menuItems = document.getElementById("ucjs_openurlwith-popup").childNodes; for (var i = 0, menu; menu = mMenus[i]; i++) menuItems[i].hidden = "shouldDisplay" in menu && !menu.shouldDisplay || menu.application==''; } })();
Отредактировано kazarin (12-10-2022 21:00:36)
Отсутствует
А начиная с какой версии так не делать? Или в принципе вообще ни на какой?
Ну, откуда я помню, где-то с семидесятых, может чуть раньше.
Но можно и вообще никогда так не делать, хуже не будет.
идёт перебор объектов, или как он правильно называется, не знаю
Идёт перебор элементов массива, а каждый из элементов
этого массива является объектом, так что да, «перебор объектов» подходит.
Иконку для menu я ему сделал без проблем, а вот для menuitem
Вот, например, если заменить эту странную строку
/* menuItem.setAttribute("image", "moz-icon://file://" + menu.label.Path); */ menuItem.setAttribute("image", menu.image || "moz-icon://file://" + menu.application);
иначе, как видимо и было задумано, автоматически, то есть moz-icon://file:…
и браузер сам притащит иконку из приложения, если получится.
Отсутствует
Родили, наконец-то, AppConstants.sys.mjs. Оставили var AppConstants.
Антиподписячий код, чуть стройнее, надеюсь.
// try {(jsval => { var dbg, gref, genv = func => { var sandbox = new Cu.Sandbox(g, {freshCompartment: true}); Cc["@mozilla.org/jsdebugger;1"].createInstance(Ci.IJSDebugger).addClass(sandbox); (dbg = new sandbox.Debugger()).addDebuggee(g); gref = dbg.makeGlobalObjectReference(g); return (genv = func => func && gref.makeDebuggeeValue(func).environment)(func); } var g = Cu.getGlobalForObject(jsval), o = g.Object, {freeze} = o, disleg; var lexp = () => lockPref("extensions.experiments.enabled", true); var MRS = "MOZ_REQUIRE_SIGNING", AC = "AppConstants", uac = `resource://gre/modules/${AC}.`; if (o.isFrozen(o)) { // Fx 102.0b7+ lexp(); disleg = true; genv(); dbg.onEnterFrame = frame => { var {script} = frame; try {if (!script.url.startsWith(uac)) return;} catch {return;} dbg.onEnterFrame = undefined; if (script.isModule) { // ESM, Fx 108+ var env = frame.environment; frame.onPop = () => env.setVariable(AC, gref.makeDebuggeeValue(freeze( o.assign(new o(), env.getVariable(AC).unsafeDereference(), {[MRS]: false}) ))); } else { // JSM var nsvo = frame.this.unsafeDereference(); nsvo.Object = {freeze(ac) { ac[MRS] = false; delete nsvo.Object; return freeze(ac); }}; } } } else o.freeze = obj => { if (!Components.stack.caller.filename.startsWith(uac)) return freeze(obj); obj[MRS] = false; if ((disleg = "MOZ_ALLOW_ADDON_SIDELOAD" in obj)) lexp(); else obj.MOZ_ALLOW_LEGACY_EXTENSIONS = true, lockPref("extensions.legacy.enabled", true); return (o.freeze = freeze)(obj); } lockPref("xpinstall.signatures.required", false); lockPref("extensions.langpacks.signatures.required", false); var useDbg = true, xpii = "resource://gre/modules/addons/XPIInstall."; if (Ci.nsINativeFileWatcherService) { // Fx < 100 jsval = Cu.import(xpii + "jsm", {}); var shouldVerify = jsval.shouldVerifySignedState; if (shouldVerify.length == 1) useDbg = false, jsval.shouldVerifySignedState = addon => !addon.id && shouldVerify(addon); } if (useDbg) { // Fx 99+ try {var exp = ChromeUtils.importESModule(xpii + "sys.mjs");} catch {exp = g.ChromeUtils.import(xpii + "jsm");} jsval = o.assign({}, exp); var env = genv(jsval.XPIInstall.installTemporaryAddon); var ref = name => {try {return env.find(name).getVariable(name).unsafeDereference();} catch {}} jsval.XPIDatabase = (ref("lazy") || {}).XPIDatabase || ref("XPIDatabase"); var proto = ref("Package").prototype; var verify = proto.verifySignedState; proto.verifySignedState = function(id) { return id ? {cert: null, signedState: undefined} : verify.apply(this, arguments); } dbg.removeAllDebuggees(); } if (disleg) jsval.XPIDatabase.isDisabledLegacy = () => false; })( "permitCPOWsInScope" in Cu ? Cu.import("resource://gre/modules/WebRequestCommon.jsm", {}) : Cu );} catch(ex) {Cu.reportError(ex);}
Отсутствует
этот код для 106+ ?
Хотелось бы думать, что это неважно.
Теоретическая совместимость кода где-то 65+.
Просто предыдущий вариант был записан в авральном порядке, на коленке,
и главная интрига виделась в том, будет ли var, или const (AppConstants).
Теперь, покамест, видно var.
Отсутствует
Теоретическая совместимость кода где-то 65+.
Просто предыдущий вариант был записан в авральном порядке, на коленке,
и главная интрига виделась в том, будет ли var, или const (AppConstants).
Теперь, покамест, видно var.
Даже так. Спасибо за инфу!
Win7
Отсутствует
Родили, наконец-то, AppConstants.sys.mjs. Оставили var AppConstants.
Антиподписячий код, чуть стройнее, надеюсь.скрытый текстВыделить кодКод:
// try {(jsval => { var dbg, gref, genv = func => { var sandbox = new Cu.Sandbox(g, {freshCompartment: true}); Cc["@mozilla.org/jsdebugger;1"].createInstance(Ci.IJSDebugger).addClass(sandbox); (dbg = new sandbox.Debugger()).addDebuggee(g); gref = dbg.makeGlobalObjectReference(g); return (genv = func => func && gref.makeDebuggeeValue(func).environment)(func); } var g = Cu.getGlobalForObject(jsval), o = g.Object, {freeze} = o, disleg; var lexp = () => lockPref("extensions.experiments.enabled", true); var MRS = "MOZ_REQUIRE_SIGNING", AC = "AppConstants", uac = `resource://gre/modules/${AC}.`; if (o.isFrozen(o)) { // Fx 102.0b7+ lexp(); disleg = true; genv(); dbg.onEnterFrame = frame => { var {script} = frame; try {if (!script.url.startsWith(uac)) return;} catch {return;} dbg.onEnterFrame = undefined; if (script.isModule) { // ESM, Fx 108+ var env = frame.environment; frame.onPop = () => env.setVariable(AC, gref.makeDebuggeeValue(freeze( o.assign(new o(), env.getVariable(AC).unsafeDereference(), {[MRS]: false}) ))); } else { // JSM var nsvo = frame.this.unsafeDereference(); nsvo.Object = {freeze(ac) { ac[MRS] = false; delete nsvo.Object; return freeze(ac); }}; } } } else o.freeze = obj => { if (!Components.stack.caller.filename.startsWith(uac)) return freeze(obj); obj[MRS] = false; if ((disleg = "MOZ_ALLOW_ADDON_SIDELOAD" in obj)) lexp(); else obj.MOZ_ALLOW_LEGACY_EXTENSIONS = true, lockPref("extensions.legacy.enabled", true); return (o.freeze = freeze)(obj); } lockPref("xpinstall.signatures.required", false); lockPref("extensions.langpacks.signatures.required", false); var useDbg = true, xpii = "resource://gre/modules/addons/XPIInstall."; if (Ci.nsINativeFileWatcherService) { // Fx < 100 jsval = Cu.import(xpii + "jsm", {}); var shouldVerify = jsval.shouldVerifySignedState; if (shouldVerify.length == 1) useDbg = false, jsval.shouldVerifySignedState = addon => !addon.id && shouldVerify(addon); } if (useDbg) { // Fx 99+ try {var exp = ChromeUtils.importESModule(xpii + "sys.mjs");} catch {exp = g.ChromeUtils.import(xpii + "jsm");} jsval = o.assign({}, exp); var env = genv(jsval.XPIInstall.installTemporaryAddon); var ref = name => {try {return env.find(name).getVariable(name).unsafeDereference();} catch {}} jsval.XPIDatabase = (ref("lazy") || {}).XPIDatabase || ref("XPIDatabase"); var proto = ref("Package").prototype; var verify = proto.verifySignedState; proto.verifySignedState = function(id) { return id ? {cert: null, signedState: undefined} : verify.apply(this, arguments); } dbg.removeAllDebuggees(); } if (disleg) jsval.XPIDatabase.isDisabledLegacy = () => false; })( "permitCPOWsInScope" in Cu ? Cu.import("resource://gre/modules/WebRequestCommon.jsm", {}) : Cu );} catch(ex) {Cu.reportError(ex);}
try this? I havn't test
const temp = Object.assign({}, Constants.AppConstants);
temp.MOZ_REQUIRE_SIGNING = false
delete Constants.AppConstants;
Constants.AppConstants = Object.freeze(temp);
Отсутствует
подскажите код (всё остальное сам напишу)
window.close();
try this?
Yes.
Add at the start of config.js (first line stays as comment, of course).
And (if any) disable dbg-code, add if(0), for example.
And instead of temp.MOZ_REQUIRE_SIGNING = false
make temp.MOZ_REQUIRE_SIGNING = null;
Restart, and get AppConstants.MOZ_REQUIRE_SIGNING from Browser console.
I got false, not null. So, code is not working, right?
Отредактировано Dumby (20-10-2022 16:57:15)
Отсутствует
Dumby
До сих пор использую это пароли)
var u = gBrowser.currentURI; var host = u.asciiHost && u.displayHost; host = host?.includes(".") ? host.replace(/^www\./, "") : ""; window.openDialog("chrome://passwordmgr/content/passwordManager.xhtml", "SignonViewerDialog", '', {filterString: host});
Отсутствует
passwordManager.xhtml и passwordManager.js - могу дать
Сомневаюсь, что здесь смогу чем-то помочь, ситуация довольно пограничная.
Но да, passwordManager.xhtml и passwordManager.js, разумеется, нужны бы были,
и даже passwordManager.css и тому подобное, если есть таковые, не помешали бы.
Плюс, дело ещё в том, что я без понятия, что могло бы означать «куки падают».
То есть, нужно ещё и доходчивое описание того, что есть «падение кук», и как это можно увидеть.
Может лучше забей, ну правда, сколько можно гнуть свою линию против ветра.
Отсутствует
Dumby
Плюс, дело ещё в том, что я без понятия, что могло бы означать «куки падают».
Да любой сайт - пропадает авторизация , стоит только окно открыть с паролями, то бишь куки исчезают...Да и пароль на удаление без prompt.confirm не камильфо...
Может сам браузер выложить ?
Отредактировано ВВП (20-10-2022 22:43:43)
Отсутствует
Может сам браузер выложить ?
Предложение хорошее, но рискованное.
Есть у меня одна синтетическая страница, которая суёт в браузер куку.
Если я открою окно с паролями, но эта кука после этого не исчезнет, то всё будет зря.
Вобщем, решай сам, выкладывать или нет.
Отсутствует
Благоволите посмотреть.
Посмотрел.
Окно «Сохранённые логины» есть, и даже логин для какого-то фильмикса там видно.
Страница about:logins не работает, чтобы логинов добавить, но ничего, добавил кодом.
Насчёт «предупредилки», даже не представляю в чём может быть проблема,
вроде как даже что-то тупо-простенькое не отказывается работать,
то есть, например, добавить confirm первой строкой в функцию DeleteSignon(), вот так
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAn0AAAOZCAIAAADkswG6AACFaUlEQVR42uydCXwlRbm3e5DdBUWQTWAQJy5ocFdccObeq8M1uEdFURF0EhVwzRHDvgdIxAWCJFERceFqFFDjZUa+m6gIiAsaxSURHVnFywU3tgGZ753zkpeaqu4+52Q5XafzPPw8Vqqra+uq+vdbVT215K9//WsCAAAATWEJugsAANA0lnz+858/6KCDis4GAPj84x//eOQjH1l0LgBgrqyr8ohHPELc559/ProLECnoLkA5QHcBWgN0F6AcoLsArcHf//73Rz3qUUXnAgDmCroL0BqguwDlQET33nvv1ekrdBcgXtBdgGhZX0Ucm2yyibm9P5dUeeCB9VXdvWebbbZJ0F2AmPnb3/6mHRUAYuP++//1r389IOq6+eabbrJkSVawB9avl5D3rVt39z33bPfYbRN0FyBm0F2AaHF1Vyxa+VP9t9xis3X33f/AA2oKL9l004fVr7u3r3rhMz5z5Q3i2nWfd/38ipFt687N7b//zv5vv+jbV4wkM4767wUA469//eujH/1ox+OhXpkkz55e/5MnFp1DgEXLfaq769dvsflmDzzwwH0zurvVlpvfu+4+093NNt1UdHfdunvvvufu7bfbLjHdPfDAt97/rwcsutuv++/n7/Xq913y68NXPlH/XP37ZW9e2UAfv/Ssd7+28jlxnDETCQA0xGabPux/b/s/eUG2vik98VPfSY4//D/FfdahL/jUtc/40cS5vNQCNB/pniK5Irzr1yee7orWqugqS5Ys2WTJkpq6e/t7lz/3Kb2r0UuAAqnq7m3bPfax7juxcd3qT+7X9xt0F6AQcnRXr653Aj/sYZvcdeddd9199+O2d3T3LaK7M/fcft2lL3jaCf9995V7+gld9+Ktnvqzquvxzz/kqolPb/tg4FffWPU8/WIxbfesBlt59K+u3m/PbS896z2v+8h3v1F1S9hDlz/vvB/dUA155W/73qjuKs/65d1fPKiuyAEWC5tvtumtf/nL9ttvf7/Tn42zDtvnt086bvDw/dwe57olwBGf3dClnvXO/svPfl9WMKeXSTeUXp8a7I7UTh3cC7BYkO4pWvsv+d8D67fcYvMkEQ1+8P1YBHjThz1s8803tcAS5q67RHnv3uFx2br7+nde8vWq8m2M2wnfev6DXfSpb6oqYrUHHvapjbroHW9afsg1P7qp6pmI6CavP7s6TIQRblt35Lzcw2IhVXdN6g4+45KZ3pQuqDN3pGhnqud1qz915lTb4OHLcoO5nTq8d7/GSwnQkqju3l+1d8W9ySab2KV77l0nv5tttqlYveK4/18PiFm8bt26u/J1t6a9e/pDcvhQSHm/Tl75xcNXJtobpz/ekbzy+P96zaHifl5ydVqc3nhRT+S8UsNiYYvNN73lz7c+7nGPS7V3q3bnz2cs1Af7TpVdvzGjhU9/TcXxucNeZK3rVTvmg1NKyYOWcUdabHdkdGrv3vcVXWcATUK6pxi4qrtZbL75ZptssuSee9Y97GGbpOnuWw505qZvP3TF85/80UsDkbvuxVvvd8wvfyTeh6543as+843nJlfv8/QTv3PXFQ9K4+EvTPa/YIPubr3foRedcMm3b7vwrA69xQsZRLht3ZGju7BY2GKLzW655dYdHrf9fWm663SZO8J+5HSf27VDydXVZ4tUnzdz+67fSO+Yqb3yjro7NcCiQLrnBt29/1/rc4R3hk03fdi6e++98867dtzxcUmG7ibyptz+2o+cdtG1qnNielb3MyeONKowi89eb6oGkzAznVD66l7XVHu1MyJsuCV5/VmDh208z5yuuzmRAywWQt1dffbxyX++r9pftJNeOPlgj/P70RN//8VXnPabK8c/nWzoO4d/6sGrhiuoe+19xsVOx8zS3bBTh/cCLBake1a/3/2Xu3U5i8023fTedaK7d+604w6J6e6bRXfvu98NJ1L3wvbX6iTS459/8BX/c862yXUvefjTrqn6PPOQM35w1uEbB3v81ycf7KsSbO/TLzp7Q28U935HO/56+2kX/eqwl++ZdTU3coDFwpZbbH7TzbfsuOMO1jevW3PW3q/9yMz1Z/3izh9W30S9fqTu5LB/e/7nf3Tj45//qmcmt75j5Bue7totbk+vdr1XpMV2R2qnDu49vOg6A2gS0j1Fduu0dzfb9GH33rvuzrs21t0D3vwWT3cBoFi22nKLG2+62dVdAIgE6Z4iuvdvsHcfqBl4s802XXfvun/e+c+dd9oxQXcBogXdBYgW6Z733S/Upbubb75Bd//xzzt32dnV3QPesu6++4ouCAA8xNZbbXHDjTfvtOOO9E2A2JDueZ/Yu/fd/0A988xi766795//vGsj3X3TAW9et46+DRARW2+95Q033LTTTjvSNwFiQ7rnhtMO7rs/a33X9Xd1d8mSJeguQKSguwDRIt3zz3/+8/oH1oe6qz6u/yYP20T/Rcmlu+8muvuFL3xhg+4+97nPLboUAAAALcOjHvUoz8dV3PXrfUnedNNNd9ppJ9HdCy64QM9FOLDoIgCAj/TbJdnnaQNAgXjd05Vbw/yXVBHpld8vfelLG3T39ftcv3zimInlJ/HLL7/88ssvvw3/jh/9Py896d8mjrps35MvnXzS3VXuuece71dYuXLlg7r7+iP//PVTd+SXX3755Zdffmfx+7WTd+g86pYLT9xhzS+fXFt3v3jxFUWb7AAAAK3LQzPNq978H6a7H/rQh4455pgU3f3CN35QdI4BAABal6rubvhZ333gSpXY9773vaeccspRRx3V09Pj6+55X5soOscAAACty0O6+963v0L09eCDDz7zzDPV0j3ppJMOO+ywjXT3sxdeVnSOAQAAWpcZ3V2//rBDXnXAAQecc8457sruwMDAO9/5zod0d+TLq4vOMQAAQOvykO6+712vrb2v6twLvlN0jgEAAFqW6gyz/vfBrs7aunvO5785L+ke+Kap9737V+q+ZGzpqQPPcq++4Lm3fvKMH95y69avOYCDsgEa40fj35Df93/kRVf9eIei89JiSNWF9XZkz88ev8s/3/vBfWvefvGFl+60w13uwKU+4pjFaOZlRkfFrMfqjqjPX/G6RgueH/m8UGDlSOCf/nw77wnKY311x9omd5NzPv79G258RN/AM8XcPaBzqvvga7/1ra/U1t2zPnvR3NN+6wG//8B7rz2sZ5+rrn6c/Pmtr6750U8ed/IZz9hQfc/7y9kDV97y561e+caXN60uAMrET75/yXP2fXXRuaidSRsB4iHMlYxIR/X8vP7hyGLQoewT5+z1xQufqPE88Ql/V/e8V5GmpQ99Fgk1jUIqRwOLppwy8Aw3vHjKb/Mb4Tf/a001J9vrRPNHDjuwtu5+cmR07gmPjf6/C7++9IKv7Kl/7vO8vwyeefWzXrx/eAkAGuVnl39be1PMSCYP/dDzroxMd8NcHXPEL+T3pNP3bjSGuQ9l9VfR29583QGvX9vR+e8FV1+UlaOBf/Kzx95w09b2HKXGXrLPX57zrP9rfiN86wHXvej5f3n3B16gunvCEd13b8xdd91155133lXl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
Отредактировано Dumby (21-10-2022 17:58:35)
Отсутствует
Сколько бы раз я не открывал это окно — кука никуда не исчезает.
Вау! Это я отдельную кнопку создал с предложенным кодом.
А, оказывается, есть и существующая, у которой этот код открытия passwordManager.xhtml
лежит во вкладке Код. Называется кнопка «ПАРОЛИ/КУКИ».
Так вот, во вкладке Инициализация, у этой кнопки код ... удаляющий куки.
Ну тогда ничего удивительного, что куки пропадают, если речь именно об этой кнопке.
Отредактировано Dumby (21-10-2022 18:07:33)
Отсутствует
Что же сразу удаляет ?
В каком смысле? Так уж она сделана.
Можно, например, заменить onclick на onauxclick
и не будет ничего удалять, а неиспользуемый код останется на память.
Ну или да, перелопатить полностью.
И, хорошо бы удалить .QueryInterface(Ci.nsIPlaintextEditor)
нет такого интерфейса уже давно.
Отсутствует