阅读:3926回复:9
【已解决】升级Firefox Nightly 69.0a1后此UC脚本失效!
下列脚本是在_addmenu中,此部分脚本失效,
不知道是不是跟 addMenuPlus.uc 有没有关系, 如果有我在贴出来,以便大神修改 谢谢!@lonely_8 1楼和主楼这两处脚本都是在标签页右键下的功能失效的 new function () { var items = [ {label:"复制当前标签【标题】", oncommand: function() {addMenu.copy(addMenu.convertText("%TITLE%"));}, image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAXElEQVQ4jWNgGCzgPxZMSA2GJKkWEmXAfwYGBg9yDfBgYGCYCcXEWogCjjIwMChDaZIBssY8KCYJ5DGghjhJrlBmwPTjTKg4ToCsAVvAeaCJ0S8dkGQARUl54AAAWsMsNkwmkt8AAAAASUVORK5CYII="}, {label:"复制当前标签【地址】",oncommand: function() {addMenu.copy(addMenu.convertText("%URL%"));},image:""}, {label:"复制当前标签标题和地址", oncommand: function() {addMenu.copy(addMenu.convertText("%TITLE%\n%URL%"));},image:""}, {label:"复制当前标签源代码",oncommand: function() {addMenu.copy(addMenu.convertText( '<a href="%URL%" target="_blank">%TITLES%</a>'));},image:""}, {}, {label:"复制所有标签标题",oncommand: function() {(function(){ var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var titles = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { titles += tab.label + "\n"; }); gClipboardHelper.copyString(titles); })();},image:""}, {label:"复制所有标签地址",oncommand: function() {(function(){ var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var URLs = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { var url = gBrowser.getBrowserForTab(tab).currentURI.spec; URLs += url + "\n"; }); gClipboardHelper.copyString(URLs); })();},image:""}, {label:"复制所有标签标题和地址",oncommand: function() {(function() { var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var txt = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { var url = gBrowser.getBrowserForTab(tab).currentURI.spec; txt += tab.label + "\n" + url + "\n"; }); gClipboardHelper.copyString(txt); })();},image:""}, {label:"复制所有标签HTML链接",oncommand: function() {(function() { var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var txt = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { var url = gBrowser.getBrowserForTab(tab).currentURI.spec; txt += "<a href=" + "\""+ url +"\" "+ "target=\"_blank\">" + tab.label + "</a>"+ ""+ "\r"; }); gClipboardHelper.copyString(txt); })();},image:""}, {}, { label:"复制 Favicon 的 URL", text:"%FAVICON%", image:" " }, { label:"复制 Favicon 的 Base64", text:"%FAVICON_BASE64%", image:" " } ]; var menu = TabMenu({id:"context_TabInfoCopy",onpopupshowing: syncHidden}); menu(items); }; |
|
1楼#
发布于:2019-06-01 11:07
下列代码也失效了,请大神帮忙!
// ==UserScript== // @name OpenWith.uc.js // @description 用其他浏览器打开页面、链接、书签及标签 // @author ding // @include main // @version 2018.2.3.1 // @homepageURL https://bbs.kafan.cn/thread-2114879-1-1.html // @startup window.OpenWithManager.init(); // @shutdown window.OpenWithManager.destroy(); // @note 适配Firefox57+ // ==/UserScript== location.href.startsWith('chrome://browser/content/browser.x') && (function () { const MENU_NAME = "用其它浏览器打开"; //是否使用二级菜单 const USE_MENU_AREA = true; //页面 const USE_MENU_TAB = false; //标签 const USE_MENU_PLACE = false; //书签 function getFirefoxPath(){//firefox.exe所在路径 return OS.Constants.Path.libDir; } function getRootPath() {//firefox所在盘路径 var path = getFirefoxPath(); var index = path.indexOf(":"); return path.substring(0,index+1); } //修改内容后请将脚本改名来保证加载的是最新,或使用无缓存的userChrome.js var browsers = { IE: { enable: true, name: "IE", path: "C:\\Program Files\\Internet Explorer\\iexplore.exe", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACYklEQVRIic1VIWxTYRD+RcUW2u7/73UJYqJiJBMIBGKiAjExgUBMIBCICQRiYhLxEgSiCS9pe/ezIJATkxMViBeCWEJFxdJ17+4nOCYmJgiZmCji0Xav+/u6EhK45Mx77767+767e0r9r1YN44UllC1Dbt+QHBvkK4NyAcRHAfHGXGA67GpAt6lbshOgs5okNsTnQDIAkgFY7gfoLLSSbSCOwHK/jG71VsABJm+A5HIE5nFN8r60l1SGcQaTmm7JTj44JU8yVc5wg3IRID8fxeclMLb/OOU09dsmAZJB2Z481WFXQ5N3/eCY1AD5h0HuapJ4HvC0E74yyPXK29OH3gRguQ/EEZB7nQ3+PR3YKyrsFQPiDbCuMy1JNYwXvLwDcQToNif4baswLNwICMMCkPvoS3Jdj0yCMrrVdJ7HH9/B3t1pei02ZMWvEx/d+Hj53dd7AfFhpvoWf5oGPjSD0vZ08VM1ZHmCf/dhXlHzvGhP7o/AS81k7W+CA8lAR/1HM6s3xOeaJP4jR36glFKq3JB1oOS7txJ0X2ZpMNPSuc9rtVvNi19syIqOutXrnpk8QDkzyFfaStO/OO6zdw+UUksoW74xHd2i0l5SAZIBWD5QYVjQKOLtxPJB5gRjrwitZNu7Ayhno00OiDdSMeWZUumhy7015L6BdZ28Ixhg/+WYnibvpjQktbEmk3doHucoyyGdvgCSweRvbmr7ed0h12+IpKNuFUguhxoMn5cbsq5JYkA5m7lQJHFmqSZtBJae5EOD0jbI9VIzWRu+N8h1g9I2JMdgXceQ2w9a/Oo6tf/EfgHBDz2KquCX5wAAAABJRU5ErkJggg==" }, Chrome: { enable: true, name: "Chrome", path: "D:\\Cent Browser\\chrome.exe", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADDUlEQVRIiaWWP2jcVhjAfzothoRyww0ebgohQyFrW8dSquBwelfOkKFT4uEgITiQIYVCxwpCuOikc+hQMmTwkKHQQil46OghLbSF4CFxAgmJkHTYJY59kuyczjmCMsjx+Y90vrQffOP7/d573/c+HgyJJY2iN8lsW2XeO8ujtorTVnE8lef+JPe9M9TbGuVhjMxY1hj3VO54Kh1fJTki+22VuysapZHgjoLmq6yNAN6XnkrHVfl6KNxVmfFV+h8L33uaoZIdwX+FDyQT1PaTDa3InH7y3wrHvLP8+n8lnsrf/gSnBwJTGNjVBYD253wxZLHvKyyOkt4ksyncrn5KS3+MJd5h6RcB/Enu74FuOgrGkkZxpC45FGblMrZIsEVCU/8dY7rU1ih7KrGvsvlCQUmvcalI063RdGsYr45/WB5vyDNbr+V6VsYbKNCq/LArsEWCXfkGwFEwHAUDgIYvMN0Oppfs5BoN9zxAHBVu9cJCkpXbUeFnsCpL+wViDUMrLmqMLWqMYSyPH4APJMZKaWWFUp6gF0pPoVl5dkCQYIvG7hU2/EsZ8DQbLy4BxIH0PEfQh5b++JDAEj6mfg4Ay53JFdz2LwJ0Q/nPLEEcSatg608zTpBgiV/S4i6Pc9vrH4Z7mxivjicJY71A6mQKAskBW5/PFNgioSG09Jq8WUx3dQB3HW55dYA3gXwlrwZxJD+AlqjnCizxD3PVL3dqcRLz5fVU1i4D9AJOdEP5jzzBVsB3YGjjWHqcK7F1B3PqQtYT2g75PreDIultP2Ji5zWLRr5g9zSrWPoitj4P0F2n3AulOL9FWRhsJR0XD4+U2CLBrl5NW7Nwd0j/P+lHnDkwMqYuYOn9IwQP0vGAkg8vJG8C+Ur2XGpVr2Hr65nwptig9VUtWeeTXshvmfCOFHUjvs2G70qmathiLaPY9wC2Xsv1THggdfJ3fjCM6RKW+GnPAOxgTJeiiFPbofzXvoEWSJvdoPBjN+Sz0eB7w6yWsfQbNEQdIO4UbsaR5MeB5PRCFnobzHbXh39b3gMjWp3Cjd87mAAAAABJRU5ErkJggg==" }, Edge: { enable: true, name: "Edge", path: "microsoft-edge", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACGUlEQVRIibVWr28TcRR/4kQX2vW+7yoQiMoJBAKBqKhATCD4ExATkxMENfFNJknWZL33vkGQCgQJE4glTCAqJiYqlqwp1/u+bzKxBASiAlExUQS90vau15aVT/Lc+34+7/cdwBIoimuK7Ftke6lIBopkgMZ10NhTDOO90ru4sowjEz7HLxW7G2QZLbGhH8rB6szUKwZsz1YgnrGA7dnybKhXVOQu1iWfmLG3leP+08VlMdLMeqjY/vRZ2mhcS5GcI8mPxSKuA1p7afJGVJ+LJkJ2R4riWspZay8g+wpZhlkiZe7vpwVY2sgyUmTvsBlp0NoDrT0/lIPMiACgzP39zIxJBjP92DqRR2PyK5/sk6QfyO4rsm3ktQ2Nvc1semgPJ05BaA8VuQugXhEA4AH1HqJxHWQZbZ/IszyBgOIPCxp+OuXkTEIOAOCTfJ44ktv1G1F9kSmS8+zBkO7fMKbIFcW1fx7TOctMOWn2fxGovOmX0LjvmxKovO+XZgRKzXhnU+TIMkyXZ37ZWEZV3S7kTdFaKJpvj1Np5t2WdVHV7UJ63NzHjQkAACiWbtbSrFKqqm4XlIle5DqNj1jGfbFX2LSvJ6ckgdZewPY5GtdCsr8Wzn+CMl8rxfLlXvN//GkrVwTJ7Sqydxvd4Hn4jaie+2G5rwDA+KqyvVxnuZDd0coC0yVD41qKpavY3Uzbn18Y18Iw3ps+mgl+A9E4JERQR7sXAAAAAElFTkSuQmCC" }, Opera: { enable: false, name: "Opera", path: "", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACbklEQVRIibVWMWhUQRAd+X9mP5oixAi5u53ZHxDEzkIbEQSJ0XQqiBYqFhYWohYWVjbW1mmEYKOghcUVdl6RRgh46t393c2JKSKkSCEaYpAosUi8mNzuT5p82O7Ne/NmZ+YvQMnXzLPcGrzjhepOyFrGJSe4YoXmHKvptqj73SHQZRxRYs84ZRlXndBa2bGMq55xqpln+a7IvcApx2qxj4zVoheqe6G6FVroF8NvhWRjpeSdSno+lLXVaaORw+A/XCOHQavTRshNwcmFILkdgdNe8H0wc60mtuNbkp51TF8DZSvanJ7rE3CGXodq7A2+iDkuWE0G70Wnja3ZV9NxK/gjfJHqXkzA15LrwaQYf7cqycXN2pv0SbRLqul4TGA2h2OxuILV5GYmTN0YsAMwEBMAAAh2nNCaY5oHAIDuEOiyPi8jBwCwQnOx2O4QaGgZOBkDeMafawD7Sh0I2ah7k52BQrKxvXLQZroKn7SaiAvg950EPGM7WoEqXQHPeKJkzyzvJOCEvsTiZyUbWx/7kqW2owDTfCy2twCdoTfRMo2qI1Hy4f1Vy7gcblM13QN2jHoQHZiSDekqeDwaV6PHPWAxCsZK+jYI1upuTKBTS24GyQ2+m63A0S3gtiQ3HOOfQMDLmEDB+CyYVA1vhy1r9TRi+fJ2rNXJJSv4q681DT7vAqigwMbaCEwmNv//JTbzLHeCzb62FlroHILDMcfrdc0PjFjGVmAmlizjjGWccYIrAZd21w+ADweh5iV96ISKsjWy3o702ev00UeTje6KfIsbgIGOpmtW6JXbeLZYxiXP1PVC9bZJbvkqDJdx/AXIjI6YTkGZ/AAAAABJRU5ErkJggg==" }, FireFox: { enable: false, name: "FireFox", path: "", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAFEUlEQVRIiY2VeUyTZxzHX0mWzYVJL6gwzDgqDMvYFo1RtzjQ6jbjCAmloPVAe5e2+pbSQsGBB+dEzZhXaR1UcKIUOqiiRXe4P83iDgleCK5Mndpx2NoplO/+qKsCtfNJfv+8yfv5PL/jeR6CCLayToRS82w5dNJ2NFJz6koE2fmQTnY8ZpK2fjrZ0clQdEpnCi3RQRkBV9E5OoW0krGFXdfpWzsRLFL0J5xR+daaUKV1XlDmpdwYym1xFINBfrvgzXybhb61E3TSBoamC+FaOyJ03YgoPOcLXTfCtXYwNF1IVJhxuo6PA7XkHVnB9jyUpb4WUNAvZpWdFS+TRaptg/+BI3Td2Ld9PS5UL0BMke2ZYErQBMfxc91qXDd8PPFTEafZWZ2yaJpgQMIa6dmY7OWqqiEkS5FfpMHlLxIAE4GvKnICgqn8RtA2NGGRaA8aSvlwNi/Hn0aOt69iydXvc2OeZXIvix06IEhAX24iHBKWP4bL6Bj6kvLCnYfnd4Gh6gSV34hD23Lx8OQyuK0cDJpWjD/Yu7DRL1DKtfxbormT4A4JC6O7qBitCMNRYSZUCj0yFLtfLFN34Z7ZJ3C3czB8NHXcLzBrNt+cCndIWHDXvIHR8jD08JLRk5MC+5olfiBD1QGa4DjCNWf831rK+XBbOfBYFsPVthxDpg/SiLb1KyOuSJInAglclWHw7KPC2VaBuw06ZG5r8E8RhWcEhWsAde3XiNDaEVF4DgplPtxWDh63sOGxLMbFuvSDRKv0EzIQ3CFhwVnMBEwELtdmIk733BRp7b7ar2v0SfgNYMjaUKkV+QVPjsXix/LPrhNNW7JPB4IPlzIwYQiBtz4EtTs3TKo3I68dFJ4RtA1NoHANoHANoG1sxv1mzlNBEsaaotBSwhsiDmlEl6bC7+si8Zc2Er+vScE8nQXv67+ZLJC3g5JV74dTuAZE5Rx42uBlGG9iwttIRTGp8BB25cq7gUrTm8NGrzQZqfr66VNTcBbh6i5Qsk1+QRy/Du72NHhOzgeOhODJEQqOiVeNEadUq/qmCu6oozEgTMCgLB6P6l5Hw84MFJWqcKbiQ9yqica1mjikFppAF7b4JftLsuGxLMJ4k69vj2rDYBBmegi5emfxtB7I4nFLNBc3Nr4NhywOTv1sOIuZeKBn4o56DvoL4lBVIvSVS2EFhWvAkyNUPDLPw9ihVwETgeEyOmSCLbcJlq6V3SdNCjhFNzclojeH7TsHvGT0ZCfjmCADb2lP+ctFl1rAyd3m2/XuUHgNIYCJwA1NPBJFRhNBEATxgyLt8YtG1SFhYZ9iE1aoD4Nd0DqtH8zsw/itPBYjO2iAkQBMBP7ZOxMHBOmgya1zCIIgiHKV6GAwgUPCgkWxGuvUVYjWdSGy0I7UAhPE5Hb8In0Xfxcz4aqaBZh8gl+LE1AtXvfgubsUM6zK1aP/J3FIWOiTJuGqlA2HhIU/5CyM7KBhwhACz96Z8B4Owdj+V2ATLYVZnJE/6brmaap418RJAa+MgKdcPxsTT+vtqpoFGGdgZAcNg7J47BJvuhjw0THmcUs65B+/lOS2IhauqlkY+jwcDmk87pJzcEacikrp5tagT2e6ujqtQ/mp62UzcUhYuCBcCIeEhT2q3Mqg8EnZKNeaz+ct9QYDD0gS0C1Ygv3irMF+Ucx7Lw1/fmmVGkWjgnvzZF66+zvZR+Pn5Uu99Sq+a7dqc79Rlm3ulb0zP9j//wKuxGyC6r7XUQAAAABJRU5ErkJggg==" }, others: { enable: false, name: "", path: "", image: "" }, all: { enable: true, name: "所有浏览器", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4T21TXUgUURT+zswuZZruTBRRFJHOvgRR0EMRCQkVQWUEai9WD+LWjtpDQfVQLRQYPUSFd0xSCMJ+pCIMC1+rh+itzMC964MIRRYzu2WitjsnZqZ1t637cOGce8937ved7xJKli5SawA0MfE+AJvAnAXoPYhfECsPbLNmsriEFgIxVaFR5i6AegIK+eBCo7cx4yII0uGqZpgrpr1ccPGmXKSF+C2BNpa+iMGvnCmjDgnKgpkiluxQiJrtLLajw5jzATQr2UOg1tJivyvQ7cSNePFZRCSPEWGbE4/GqFKkalTwGBGUUgAX6IWrXlZCuXL7uPGx+FyzkvdzrJwnTchOIpz9X/d8LsdoyJjGo3wcsVLtBD4NoJ90IYeZ2CZWvoD45D8aMEYc0yho0/NpiZadHgawFYRR0kXyiW1GDy3tGo+GFXfsj9qjv3LYqYa5VnHJdEyjLg+sCfmQyJ/KjD8FTcinjmkcRICcIaJQsXCRrmRtui36cgHAkhMErPVjxnefgm0ae7w4YqWOKuyeADANoueuqz5Ot62fKKali5Rnsn4CVAa/I3+ECt3Iq1zZO6mH5mY7mHABjHmALjlfqzuRIDcPpIvUdRDvYuAZRbrlZmJqdeI1XudgXZss0xfP+hyDl/IQcuo5p716pAAi+7KqciUwkkjeYsa9v7gKOUiE/fkCF6hPx41BL64ScrcKNNqm0RJYuYfDek7ehkJXFwwzwKr2LeVxbWLm144Z3RHoJA8Q8yknVLEXsVUzhU+T4JC2fPwMK+6PdHllH46s/KlbsgHAAAgJAG/gogUKPtjL5jvRuGHeH2Opccq6x1aXuephJncLQE1gZDzDABiaU8N3ZmLrPhfX/AYp2hIKQjp+9wAAAABJRU5ErkJggg==" } }; if (window.OpenWithManager) { window.OpenWithManager.destroy(); delete window.OpenWithManager; } function $(id) { return document.getElementById(id); } window.OpenWithManager = { useMenu: false, getTypeDesc: function (type) { switch (type) { case "page": return "本页"; case "link": return "链接"; //case "tab": return "标签"; //case "bm": return "书签"; } return ""; }, buildMenuName: function (label, type) { return "用 " + label + " 打开" + this.getTypeDesc(type); }, attachNode: function (anchorNode, node) { if (this.useMenu) { anchorNode.appendChild(node); } else { anchorNode.parentNode.insertBefore(node, anchorNode); } }, createMenuPopup: function (anchorNode, type) { let menu = document.createXULElement("menu"); menu.setAttribute("label", MENU_NAME); menu.setAttribute("id", "openwith-menu-" + type); menu.setAttribute("class", "menu-iconic openwith-menu open-" + type); menu.setAttribute("image", browsers.all.image); anchorNode.parentNode.insertBefore(menu, anchorNode); let popup = document.createXULElement("menupopup"); popup.id = "openwith-popup-" + type; menu.appendChild(popup); return popup; }, createMenuItem: function (anchorNode, id, browser, type) { let menuitem = document.createXULElement("menuitem"); menuitem.id = "openwith-m-" + type + "-" + id; menuitem.setAttribute("label", this.buildMenuName(browser.name, type)); menuitem.setAttribute("oncommand", "OpenWithManager.openWithOtherBrowser(this,'" + id + "','" + type + "')"); menuitem.setAttribute("class", "menuitem-iconic openwith-menuitem open-" + type); if (browser.image) { menuitem.setAttribute("image", browser.image); } this.attachNode(anchorNode, menuitem); }, createBrowserMenu: function (anchorNode, type) { for (let key in browsers) { try { if (browsers[key].enable) { this.createMenuItem(anchorNode, key, browsers[key], type); } } catch (e) { alert(e.message); } } }, //contentAreaContextMenu initContentAreaMenu: function () { var inspos = $("inspect-separator"); let sep = document.createXULElement("menuseparator"); sep.setAttribute("class", "openwith-menuitem"); inspos.parentNode.insertBefore(sep, inspos); this.useMenu = USE_MENU_AREA; var anchorNode; if (this.useMenu) { anchorNode = this.createMenuPopup(inspos, "area"); } else { anchorNode = inspos; } //链接部分 this.createBrowserMenu(anchorNode, "link"); let sepLink = document.createXULElement("menuseparator"); sepLink.setAttribute("class", "open-link openwith-menuitem"); this.attachNode(anchorNode, sepLink); //控制链接菜单的显示 inspos.parentNode.addEventListener("popupshowing", this, false); //页面部分 this.createBrowserMenu(anchorNode, "page"); }, //tabContextMenu initTabContextMenu: function () { var inspos = $("context_closeTabOptions") || $("context_closeOtherTabs") let sep = document.createXULElement("menuseparator"); sep.setAttribute("class", "openwith-menuitem"); inspos.parentNode.insertBefore(sep, inspos.nextSibling); this.useMenu = USE_MENU_TAB; var anchorNode; if (this.useMenu) { anchorNode = this.createMenuPopup(sep.nextSibling, "tab"); } else { anchorNode = sep.nextSibling; } this.createBrowserMenu(anchorNode, "tab"); }, //placesContext initPlacesContextMenu: function () { var inspos = $("placesContext_openSeparator"); //let sep = document.createXULElement("menuseparator"); //inspos.parentNode.insertBefore(sep, inspos); this.useMenu = USE_MENU_PLACE; var anchorNode; if (this.useMenu) { anchorNode = this.createMenuPopup(inspos, "place"); } else { anchorNode = inspos; } this.createBrowserMenu(anchorNode, "place"); //文件夹显示 inspos.parentNode.addEventListener("popupshowing",this, false); }, handleEvent: function (event) { if(event.target.id=="placesContext"){ var isFloder = false; try { let selectedNode = PlacesUIUtils.getViewForNode(event.target.ownerDocument.popupNode).selectedNode; isFloder = !selectedNode || selectedNode.hasChildren; } catch (e) { } let menus = $("placesContext").querySelectorAll(".open-place"); for (let menu of menus) { if (isFloder) { menu.hidden = true; } else { menu.hidden = false; menu.disabled = false; } } } if(event.target.id=="contentAreaContextMenu"){ let menus = $("contentAreaContextMenu").querySelectorAll(".open-link"); for (let menu of menus) { if (gContextMenu.onLink) { menu.hidden = false; } else { menu.hidden = true; } } } }, init: function () { //contentAreaContextMenu this.initContentAreaMenu(); //tabContextMenu this.initTabContextMenu(); //placesContext this.initPlacesContextMenu(); }, destroy:function () { $("contentAreaContextMenu").removeEventListener("popupshowing", this, false); $("placesContext_openSeparator").removeEventListener("popupshowing", this, false); let menus = document.querySelectorAll(".openwith-menu"), menuitems = document.querySelectorAll(".openwith-menuitem"); for(let menuitem of menuitems){ menuitem.parentNode.removeChild(menuitem); } for(let menu of menus){ menu.parentNode.removeChild(menu); } }, openWithBrowser: function (url, path) { if (!path) { alert("浏览器路径未设置 "); return; } if (path == "microsoft-edge") { //edge用url打开 var cmdUrl = path + ":" + url; let win = window.openDialog(cmdUrl, "", "chrome"); win.close(); return; } let clientApp = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); clientApp.initWithPath(path); if (!clientApp.exists()) { alert("浏览器路径错误: " + path); return; } try { let ss = Cc["@mozilla.org/browser/shell-service;1"] .getService(Ci.nsIShellService); ss.openApplicationWithURI(clientApp, url); } catch (e) { let p = Cc["@mozilla.org/process/util;1"] .createInstance(Ci.nsIProcess); p.init(clientApp); p.run(false, [url], 1); } }, openWithOtherBrowser : function (obj, id, type) { var url; switch (type) { case "page": url = gBrowser.currentURI.spec; break; case "link": url = gContextMenu.linkURL; break; case "tab": { let tab = document.popupNode && document.popupNode.localName == "tab" ? document.popupNode : null; let bw = tab && tab.linkedBrowser; url = bw && bw.documentURI.spec; } break; case "place": url = PlacesUIUtils.getViewForNode(document.popupNode).selectedNode.uri; break; } if (url) { if (id == "all") { for (let key in browsers) { let browser = browsers[key]; if (browser.enable && key != "all" && browser.path) { this.openWithBrowser(url, browser.path); } } } else { let browser = browsers[id]; this.openWithBrowser(url, browser.path); } } } }; OpenWithManager.init(); })(); |
|
2楼#
发布于:2019-06-01 23:50
主楼的脚本不完整没法判断哪里有问题。
1 楼的脚本 303行改成 let tab = TabContextMenu.contextTab; |
|
3楼#
发布于:2019-06-02 00:00
lonely_8:主楼的脚本不完整没法判断哪里有问题。1楼的脚本问题已经解决 主楼的就是那一段脚本有问题,失效了 完整的脚本如下: //添加标签右键菜单项 new function () { var items = [ { label : "关闭重复标签", id:"context_CloseSameTab", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAkUlEQVQ4jc3SPQrDMAwF4G/Kks1rT5MDhRwgB+vaHsFTltwlHaqCMXFTSCkVCMzTz3uSxT9ahxEZW3gOrDsqvmDFFQP68CGwNXKazCvmNwQzllZwDBYhOxWxFBjcMe01yCG1LEjVW+Tsqtg8561ZazV9oea7DU6P8OkSbxpLPP2NnDykUskUTK8lLoEdnvLv7QFhATCavYcOYgAAAABJRU5ErkJggg==", oncommand : function () { var num = gBrowser.browsers.length; var msg = ""; for (var i = 0; i < num; i++) { var a = gBrowser.getBrowserAtIndex(i); try { for (var j = 0; j < num; j++) { if (j != i) { var b = gBrowser.getBrowserAtIndex(j); if (a.currentURI.spec == b.currentURI.spec) { //gBrowser.alert(a.currentURI.spec); if (msg != "") msg += "\n"; msg += b.currentURI.spec; gBrowser.removeTab(gBrowser.tabContainer.childNodes[j]); num--; j--; //Not executing "i--" because there won't be tabs equal before the one on i } } } } catch(e) { Components.utils.reportError(e); } } if (msg != ""){ //alert("\u5173\u95ED\u7684\u91CD\u590D\u6807\u7B7E\u9875:\n\n" + msg); } else alert("\u6CA1\u6709\u91CD\u590D\u6807\u7B7E\u9875"); }, },{ command:"context_closeTabsToTheEnd", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAOUlEQVQ4jWNgGGzgPxQPNwPyGBhyGRgY/kNp8lwAMySTgaGNGAPwYnwuoZoLsGqmKAyIBQNvwBAEAIkvKboNt20DAAAAAElFTkSuQmCC" },{ command:"context_closeLeftTabs", image:"", }, { label: "关闭左侧标签", id:"context_closeTabsToTheFirst", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAABuAABpAAAAAACOszMyAAAAA3RSTlMAbYYu/vchAAAAH0lEQVQI12NABswHkIkSIMF0AUiw//8PYkHF0NWhAgAbAQzws7ptnwAAAABJRU5ErkJggg==", oncommand: function closeTabsToTheFirst() { for (let i = TabContextMenu.contextTab._tPos - 1; i >= 0; i--) if (!gBrowser.tabs<i>.pinned){ gBrowser.removeTab(gBrowser.tabs<i>, {animate: true});}} }, { command:"context_closeOtherTabs", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAATElEQVQ4jdXSQQrAMAhE0edxs0iOkWvbVQsFs2m7aD64cWQcRH5NkEFuYjDoQQ76yqCaAY1ZCVWC06Qxb40ndS18leCTG6zY7A/25QBZhDm3YCnePQAAAABJRU5ErkJggg==", }, { label: "关闭所有标签", id:"context_closeAllTabs", oncommand: "gBrowser.removeAllTabsBut(gBrowser.mCurrentTab); gBrowser.removeCurrentTab();", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAP0lEQVQ4jWNgGHbgPwMDgz0eeXuoGoIKsBmCT46gQqI1Y9NAsmZ0Q8jSTLEBFHmBokCkOBqpkpAIAbJihHYAAKNEHEuIZ/qnAAAAAElFTkSuQmCC", }, ]; var menu = TabMenu({id:"context_CloseTab", onpopupshowing: syncHidden}); menu(items); }; new function () { var items = [ {label:"复制当前标签【标题】", oncommand: function() {addMenu.copy(addMenu.convertText("%TITLE%"));}, image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAXElEQVQ4jWNgGCzgPxZMSA2GJKkWEmXAfwYGBg9yDfBgYGCYCcXEWogCjjIwMChDaZIBssY8KCYJ5DGghjhJrlBmwPTjTKg4ToCsAVvAeaCJ0S8dkGQARUl54AAAWsMsNkwmkt8AAAAASUVORK5CYII="}, {label:"复制当前标签【地址】",oncommand: function() {addMenu.copy(addMenu.convertText("%URL%"));},image:""}, {label:"复制当前标签标题和地址", oncommand: function() {addMenu.copy(addMenu.convertText("%TITLE%\n%URL%"));},image:""}, {label:"复制当前标签源代码",oncommand: function() {addMenu.copy(addMenu.convertText( '<a href="%URL%" target="_blank">%TITLES%</a>'));},image:""}, {}, {label:"复制所有标签标题",oncommand: function() {(function(){ var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var titles = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { titles += tab.label + "\n"; }); gClipboardHelper.copyString(titles); })();},image:""}, {label:"复制所有标签地址",oncommand: function() {(function(){ var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var URLs = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { var url = gBrowser.getBrowserForTab(tab).currentURI.spec; URLs += url + "\n"; }); gClipboardHelper.copyString(URLs); })();},image:""}, {label:"复制所有标签标题和地址",oncommand: function() {(function() { var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var txt = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { var url = gBrowser.getBrowserForTab(tab).currentURI.spec; txt += tab.label + "\n" + url + "\n"; }); gClipboardHelper.copyString(txt); })();},image:""}, {label:"复制所有标签HTML链接",oncommand: function() {(function() { var gClipboardHelper = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper); var txt = ""; Array.slice(gBrowser.tabContainer.childNodes).forEach(function(tab) { var url = gBrowser.getBrowserForTab(tab).currentURI.spec; txt += "<a href=" + "\""+ url +"\" "+ "target=\"_blank\">" + tab.label + "</a>"+ ""+ "\r"; }); gClipboardHelper.copyString(txt); })();},image:""}, {}, { label:"复制 Favicon 的 URL", text:"%FAVICON%", image:" " }, { label:"复制 Favicon 的 Base64", text:"%FAVICON_BASE64%", image:" " } ]; var menu = TabMenu({id:"context_TabInfoCopy",onpopupshowing: syncHidden}); menu(items); }; //复制链接文本地址 new function () { var items = [ { label:"复制链接地址(A)", command:"context-copylink", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABFklEQVQ4T6XTvSuGURzG8c+zGxnIoCgbCyUGiUnJSylSDFIGmZWUEjbFaFCUmESUxcugsBhkpSz4FwwGnTp33Y/u57nVfbbz8vv+znWd65QUHKWC9f4DaMc2OvCGTRwnjfMAwzjEMg7Qi10sYS9AqgFGY9EIrlNSJ7GK1jxAExpwj3p8RUhbXKupBOjGJ95jwRzW0IifKGcIXVmAfpxiBicIxTvowyMSTwbivMyDQLxB0HiGBWxhEFcYw36c32W9wgPOsYG6KGEq3iicb0Ft0jkL8I1OvMTNxLgefKQ8Kcte+hlfsYKj1IngSZAzgYus1KYBszFl87jFNNYxjstKkf8bpGBgSFkznrCI52r/JS/KuX+tMOAX/9gzEZGy3OQAAAAASUVORK5CYII=" }, { label:"复制链接文本", text:"%LINK_TEXT%", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA/0lEQVQ4T6XTsStFYRjH8c/9SzDJYJDFIAausitGBgOLwT/AYuCKQSmjhUERmxR/giiMymIUmQz06L11ei+9p+5bZzrP++37/H7nNHR5GpX7OxiqwfvAHD5jtgp4xi5uC5Br9CHmOwDzuCkAvkuAcaz9AblCE0VA1wY9WEgGF9jObIoGEU5vuvSKpwwQhtFCvKsV4gQ2U3BnaOGhDc1rzFsYxSmWECFOYj+F+Vt3CXCOExwistnAJabTGkXAPRaxh/cEiN2PMFjH4BiPaecRrGIZY/8ZvCGeOF9YwR0OkvoUZjCMl9xgFgOVyqLv9aQa30V/qnSrXWEOqPEjdo78AAIxShEhs/7CAAAAAElFTkSuQmCC" }, { label:"复制链接文本+地址", text:"%LINK_TEXT%\n%l", image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAPklEQVQ4jWNgoCL4TyQWwGcAIQtgNFZDiDUAp1piDEDGBA3A6VdCBhAKRIIGEAOGqAuINoBiFwysAaRg6gAAE7tI6EZZDKkAAAAASUVORK5CYII=" }, { label: "复制链接源代码", tooltiptext: "左键:HTML代码\n中键:UBB代码\n右键:MD代码", onclick: function(event) { var formats = [ '<a href="%l" target="_blank">%LINK_TEXT%</a>', "<a href="%RLINK_OR_URL%">%RLT_OR_UT%</a>", "[%RLT_OR_UT%](%RLINK_OR_URL%)", ]; var str = addMenu.convertText(formats[event.button]); addMenu.copy(str); if (event.button === 1) { // 中键点击后自动关闭菜单 document.getElementById("contentAreaContextMenu").hidePopup(); } }, image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAFVBMVEUAAAAAAABmZmbc3Ny3t7eRkZE6OjpRDxSxAAAAAXRSTlMAQObYZgAAADJJREFUCNdjwASCECDAIADhY2UwMQoKsgqAGUyMJiAGoyATYzJMhEEYxhDAoh1hBQYAAPxVA4qkxzcpAAAAAElFTkSuQmCC" }, ]; var menu = PageMenu({ condition:'link', insertBefore:'context-openlink',icon:'image', image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABdklEQVQ4T43TPUiXURTH8Y9pJSpFIEKamxAYhEO1ikOQFAlODTkIgr1gRQSlEA2CvUCUREWBEjQ4FYHoII7i4mpLU0VDRNbQC9WgceI88OchX+723Ht/33t+v3OeKltbO9CGarzB70JWtQX9cTzHnrz7Ew9wI0CbAU6neBUv8AsnEnYTI5sBDqAD77CQFezGMprRtB4g9g+hDq/xuWT1Ic7hWBkQ30O4gtYURfkvcQYruTeFU2VAiCfQjz94gm3owy7cwVV0YT470VJUUCmOFp3EXL4WlYzhPA5jBjtxGfcKwFk8wg90YwmjKfyaoEg/rGzHJAawFoB6fEQtOrGI+7iYoFk0YhA1eJwB/uMG4GiW+yz9x35TZhBWIodYa7iN4cqOBKAHr3A3068834v9GVj0/lt5cgOwD2/xHgfxPS8dQUva+LDeyBchjuMCvmAaDehNi9ey9P8yCkC05RYuVdz6hOt4utEPV57EeLk9RzdsxRRuuP4CTWBJwwkoqucAAAAASUVORK5CYII=",onpopupshowing: syncHidden }); menu(items); items.forEach(function(it){ if (it.command) css('#contentAreaContextMenu[addMenu~="link"] #' + it.command + '{ display: none !important; }') }); }; //图片 new function () { var items = [ {command: 'context-saveimage', image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAnElEQVQ4jWNgGCzgAwMDw38S8XtkA/6TYel/bJwEqMn7GRgYBAgYsAGbAR8YGBgMoJIFBAxAkYcZcIGBgWE91BUOeDQvYMDhBQGoyQ5Ql2AzpABqEVYDYCCBAeKdD1A2DARAxQTwGQDTbADFFxgYGOZD2Q+gNIalyLGArAjmrQNQNQlY9GAYgCv6DND4eMOAGICih5yk/IEMS2kAABDmRWASmruSAAAAAElFTkSuQmCC" }, {command: 'context-reloadimage'}, {command: 'context-copyimage'}, { label:"复制图片 Base64", text:"%IMAGE_BASE64%", image:" " }, {command: 'context-copyimage-contents'}, {command: 'context-viewimageinfo'}, {}, { label: "以图识图", tooltiptext: "谷歌/百度/搜狗/tineye", condition: "image", image: " ", oncommand: function() { var url = encodeURIComponent(gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL); gBrowser.addTrustedTab('http://www.google.com/searchbyimage?image_url=' + url); gBrowser.addTrustedTab('http://image.baidu.com/pcdutu?queryImageUrl=' + url); gBrowser.addTrustedTab('http://pic.sogou.com/ris?query=' + url); gBrowser.addTrustedTab('http://www.tineye.com/search/?pluginver=firefox-1.0&sort=size&order=desc&url=' + url); } },]; var menu = PageMenu({ condition:'image', id:'context-copyimage_new',insertAfter:'context-viewimage', icon:'image', image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABqUlEQVQ4T7WTO0gDQRCG/9lNULAQUQRBNF6SixYicuYKsRYrbWwELaKWqWxsLLQQH51Ya5HGUgVBBAtRRDT4KDUPLAw2FmKKJODdjlyCcD5OouBWy87MN49/luBx9JCZIHCb22xDDGcy5/nvQsgTFOyLg0ST214oyZVc7qzovGma0eYTctK528wbpIfMeS/Yt5lttQWBJhBNgShW9mFsUiRs8m9AYDUCiC4Qlt1x/wKavUtfrFZbna4ZAyTlSdlfqQF3RbNQ6hREi47NYkxks8mHTs3oVkLGCBxkxrEiK5HJXD9pmlEvBPVWEsurjyBL7bIUY45JFLH+Wms1SPLdArgH+ADAMIieX/Kl/ro6f+MH1VzD/tKaHoouEGH6Lp1sdbQJBAK1Nf7mJ4Dn2FaXnq19nlEkaK6w4N5UOjn4Pjs9bN6AsQNlH/4CFB1ioj1AxSB4n1mOCvAav6oeZ5eqBgEgPRidIYElgPxgLjDTeCp7sf2jal7yt7cbLT6f6CgW1c3j42XBadMTxOBDMJ1Wu0flD/3+RT7tUbWMr35lUCh69HdCJdJijr8BP9bKXB0KZjgAAAAASUVORK5CYII=",onpopupshowing: syncHidden}); menu(items); items.forEach(function(it){ if (it.command) css('#contentAreaContextMenu[addMenu~="image"] #' + it.command + '{ display: none !important; }') }); }; //快捷回复 new function(){ var items = [ { label: "当前日期 & 时间", condition: "input", position: 2, oncommand: function() { var localnow = new Date(); var yy = localnow.getFullYear(); var mm = localnow.getMonth()+1; if(mm < 10) mm = '0' + mm; var dd = localnow.getDate(); if(dd < 10) dd = '0' + dd; var hh = localnow.getHours(); if(hh < 10) hh = '0' + hh; var mi = localnow.getMinutes(); if(mi < 10) mi = '0' + mi; var localnowstr = '【' + yy + '.' + mm + '.' + dd + ' & ' + hh + ':' + mi + '】'; addMenu.copy(localnowstr); goDoCommand("cmd_paste");}, image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADASURBVDhPtZPNCYQwEIVTi/V4yE0I5ObVElKBhdhAzmIDKcACUsfbvGEM7G4WNqz7YJifzPuMguYWWWv3EuiMXe0CgHMO2hrWrdBjOadH25sA8zx3xRtAy6/1H0DOGSEEjOOIdV3rAmvOYox11gSklMSoiziOA9u2YRgGyZyd5ym7TcAlgkoC88ttBMriI0AXqqkLoNerS9SyLPDeg9+ntHIrzpsAfVINgq7XYRBWsqgJ6NGTZ5qm7p+JHrX/ImMenDoO+LcxQdwAAAAASUVORK5CYII=" }, {label:"Outlook~~~",input_text: "xxxxxx@outlook.com",accesskey: "1",image:" "}, {label:"Gmail~~~",input_text: "xxxxxx@gmail.com",accesskey: "2",image:" "}, {label:"xxxxxx",input_text: "xxxxxx@outlook.com",accesskey: "3",image:" "}, {}, {label:"数字补丁.exe", input_text: "<font color="White">数字补丁.exe</font>",accesskey: "H",image:" "}, {label:"谢谢你的解答~~~", input_text: "非常感谢您的解答!!!",accesskey: "T",image:" "}, {label:"亲,要的就是~~~", input_text: "亲,要的就是这个,非常感谢!!!",accesskey: "D",image:" "}, {label:"不用客气~~~", input_text: "不用客气,大家互相帮助……\n\u256E\uFF08\u256F\u25C7\u2570\uFF09\u256D",accesskey: "Y",image:" "}, {label:"看起来很不错~~~", input_text: "看起来很不错哦,收藏备用~~~\n谢谢LZ啦!!!",accesskey: "G",image:" "}, {label:"谢谢楼主分享~~~", input_text: "谢谢楼主的分享!这个绝对要顶!!!",accesskey: "F",image:" "}, {label:"楼上正解~~~", input_text: "楼上正解……\u0285\uFF08\u00B4\u25D4\u0C6A\u25D4\uFF09\u0283",accesskey: "R",image:" "}, {label:"坐等楼下解答~~~", input_text: "坐等楼下高手解答~~~⊙_⊙",accesskey: "V",image:" "}, {}, {label:"这个要支持~~~", input_text: "很好、很强大,这个一定得支持!!!",accesskey: "A",image:" "}, {label:"不明真相的~~~", input_text: "不明真相的围观群众~~~\u0285\uFF08\u00B4\u25D4\u0C6A\u25D4\uFF09\u0283",accesskey: "S",image:" "}, {label:"没图没真相~~~", input_text: "没图没真相,纯支持下了~~~",accesskey: "C",image:" "}, {label:"不明觉厉~~~", input_text: "虽然不知道LZ在说什么但是感觉很厉害的样子\n\u2606\u002E\u3002\u002E\u003A\u002A\u0028\u563F\u00B4\u0414\uFF40\u563F\u0029\u002E\u3002\u002E\u003A\u002A\u2606",accesskey: "B",image:" "}, {label:"嘿嘿~~~", input_text: "\u2606\u002E\u3002\u002E\u003A\u002A\u0028\u563F\u00B4\u0414\uFF40\u563F\u0029\u002E\u3002\u002E\u003A\u002A\u2606",accesskey: "X",image:" "} ]; var menu = PageMenu({ label:"快速回复...", condition:"input", accesskey: "W", position: 1, image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA7UlEQVQ4jbWS0Y2EMAxEUwIl8GlpXiSXQAlbwpVAB5RACZRACZRACSmBEvZ+nBPLaoGPPUuRosQez4yd0n+FmbU55wfQmVl7q8jdG2AAtjhLnA14AsNpR2AFFkl+/JfkkiZgfWMUnZec83jFEhgklSN6D8zu3tyRCswvcoA55/y4U5xSSmHuvGdQzKwNKWtFj05r5Pzpj7xtz2AFuvh4Sprqu6Ti7k0AbGbWSvIKXCmNnwzc+1LvwPCSHyPcgO5Kf4yzvI0a6CrFM/MklY+GB3If2zhI+pHU55zHsyU7ApQdwFRnXk2+1Hd3mb4WvyyoZJEMizeNAAAAAElFTkSuQmCC", oncommand: function(event){ var input_text = event.target.getAttribute('input_text'); if(input_text) { addMenu.copy(input_text); goDoCommand("cmd_paste"); } } }); menu(items); }; //隐藏相同项。必须,不能删除 function syncHidden(event) { Array.slice(event.target.children).forEach(function(elem){ var command = elem.getAttribute('command'); if (!command) return; var original = document.getElementById(command); if (!original) { elem.hidden = true; return; }; elem.hidden = original.hidden; elem.collapsed = original.collapsed; elem.disabled = original.disabled; }); };</i></i> |
|
4楼#
发布于:2019-06-02 00:17
|
|
5楼#
发布于:2019-06-02 12:56
|
|
6楼#
发布于:2019-06-02 13:17
|
|
7楼#
发布于:2019-06-10 20:54
lonely_8:主楼的脚本不完整没法判断哪里有问题。大大有空帮忙看下升级67.0.1后用的UC脚本新增按钮无效,UC使用参考的是https://github.com/Endor8/userChrome.js/tree/master/userChrome 上配置的UC // 导航栏添加XX-net按钮 (function () { CustomizableUI.createWidget({ id : "XX-net", label : "XX-net", tooltiptext : "XX-net", onClick : function (event) { var path ="D:\\Tools\\XX-Net\\start.vbs"; var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);file.initWithPath(path.replace(/^\./, Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("SysD", Components.interfaces.nsIFile).path));file.launch(); } }); var cssStr = '@-moz-document url("chrome://browser/content/browser.xul"){' + '#XX-net .toolbarbutton-icon {' + 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAA6lBMVEUAAABCSpP/ywBTV5r/ygB5cKTsvRLbtB9maqX/4QBBSqL/ygBRV5+qj0v6xwTasR4pOKxNU5f/ygD/0wD/ygD/0gBCRoT/ygD/3wA3Q6ZkZaJSV5n/2gBITJJRVpc+RJEqPsJMUJP/zgBNUJOAdWr/ygBvc41QV4bltRVTU3//ywBWW5flthRHS39JTpNTVodvda1SVqB8gq8tOZmSgFr/3gD/ygBFS5ZKUJhGTJr/1ABITpX/2wD/zgAaML5LUZtDSZX/2AArO7EuPqhPVqJIUaBFTJ89Q5xASZlgXYR3bnDrwhD70gP/zABLwy68AAAANnRSTlMAg3RRJhgWBQT9+vjr4ODf3trUysXAtLOwq6imo52Wlo2MjIeEdnFuamdlX1ZSTUxANCkkGQ+gSVWCAAAAnElEQVQY002OVQ7CUBQFLy20xd3d3eE+qeO6/+0QaGje/M0kJzmwaAYCIRBYXnSnAiKDK70NQaTA9NMaQC3mMpJXYg6NaJBHRMULmzNh5ZGLGPyPxvRwf5k4AZ/W8emaNRBIGvzdE3wWRuNhyb7vuGnELZ35jxMcS5CySdpTNcsxuoctoaTxC0pH6n8fTAllcxCpEmKvxKB123X5Az3DE3nS1LPdAAAAAElFTkSuQmCC)' + '}}'; var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); sss.loadAndRegisterSheet(ios.newURI("data:text/css;base64," + btoa(cssStr), null, null), sss.USER_SHEET); })(); // 三道杠添加重启按钮 (function() { var quitBtn = document.getElementById("appMenu-quit-button"); if (!quitBtn) return; var restartBtn = document.createElement("toolbarbutton"); restartBtn.setAttribute("label", "\u91CD\u65B0\u542F\u52A8"); restartBtn.setAttribute("class", "subviewbutton subviewbutton-iconic"); restartBtn.setAttribute("id", "restart-button"); restartBtn.addEventListener("command", function() { const APP_START = Components.classes['@mozilla.org/toolkit/app-startup;1'] .getService(Components.interfaces.nsIAppStartup); APP_START.quit(APP_START.eRestart | APP_START.eAttemptQuit); }, false); quitBtn.parentNode.insertBefore(restartBtn, quitBtn); })(); // 三道杠添加配置文件夹 (function() { var customizeBtn = document.getElementById("appMenu-customize-button"); if (!customizeBtn) return; var ChromeBtn = document.createElement("toolbarbutton"); ChromeBtn.setAttribute("label", "\u914D\u7F6E\u6587\u4EF6\u5939"); ChromeBtn.setAttribute("class", "subviewbutton subviewbutton-iconic"); ChromeBtn.setAttribute("id", "Chrome-button"); ChromeBtn.addEventListener("command", function() { var canvas = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("UChrm", Components.interfaces.nsIFile).reveal(); }, false); customizeBtn.parentNode.insertBefore(ChromeBtn, customizeBtn); })(); // 自动恢复地址栏地址显示 {if (location == "chrome://browser/content/browser.xul") { var ub = document.getElementById("urlbar"); ub.addEventListener("blur", function () { this.handleRevert(); }, false); } }; // 刷新按钮移动到地址栏 (function() { function moveReloadIntoURL() { try { var btn0 = document.getElementById("pageActionButton"); var btn1 = document.getElementById("reload-button"); if (!btn0 || !btn1) return; var btn = document.createElement("toolbarbutton"); btn.style.margin = '0px'; btn.setAttribute("id", "stop_reload_button"); btn.setAttribute("class", btn1.getAttribute("class")); btn.addEventListener("command", function(e) { var btn = document.getElementById("reload-button"); if (btn && btn.getAttribute('displaystop')) BrowserStop(); else BrowserReload(); }, false); btn0.parentNode.insertBefore(btn, btn0); btn1.addEventListener('DOMAttrModified', reloadBtnAttr); reloadBtnAttr(); btn1.parentNode.hidden = true; }catch(e){ alert(e) } } function reloadBtnAttr(e) { btn = document.getElementById("stop_reload_button"); if (btn && (!e || e.attrName=='displaystop')) { var newVal = e ? e.newValue : document.getElementById( "reload-button").getAttribute('displaystop'); if (newVal) btn.style.listStyleImage = "url('chrome://browser/skin/stop.svg')"; else btn.style.listStyleImage = "url('chrome://browser/skin/reload.svg')"; } } moveReloadIntoURL(); })(); // 右键地址栏刷新按钮强制刷新 (function() { var UndoClosedTabs = document.getElementById('stop_reload_button'); if (!UndoClosedTabs) return; UndoClosedTabs.addEventListener("click", function(event) { if (event.button == 2) { event.preventDefault(); BrowserReloadSkipCache(); } }, false); })(); |
|
8楼#
发布于:2019-06-10 23:54
wenshanliren:大大有空帮忙看下升级67.0.1后用的UC脚本新增按钮无效,UC使用参考的是https://github.com/Endor8/userChrome.js/tree/master/userChrome 上配置的UC我这测试没问题, 这个脚本添加的按钮默认在“定制”里, 如果不在,试试排除冲突。 |
|
9楼#
发布于:2019-06-12 20:37
|
|