阅读:235回复:0
[求助] _addmenu.js脚本在137.0a1版本中失效了,有请大神修复
_addmenu.js脚本在137.0a1版本中失效了,有请大神修复
//添加标签右键菜单项 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.pinned){ gBrowser.removeTab(gBrowser.tabs, {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 = ""; gBrowser.tabs.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 = ""; gBrowser.tabs.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 = ""; gBrowser.tabs.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 = ""; gBrowser.tabs.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>', "%RLT_OR_UT%", "[%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'}, {command: 'context-copyimage-contents'}, {command: 'context-viewimageinfo'}, ]; 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: "数字补丁.exe",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.from(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; }); }; |
|