阅读:1719回复:2
求助,三道杠uc脚本,setting、restart firefox、about firefox 三个功能失效
// ==UserScript==
// @label Firefox-button-mod.uc.js // @description 火狐按鈕 // @labelspace // @author skofkyo // @license MIT License // @compatibility Firefox 29+ // @charset UTF-8 // @version 2014.12.18 // @startup // @shutdown // @config // @homepageURL // @ohomepageURL // @reviewURL // @downloadURL // @note // @include main // @include chrome://browser/content/browser.xhtml // ==/UserScript== (function() { var icon = 1; // 0為火狐圖標 1為三槓動畫圖標 CustomizableUI.createWidget({ defaultArea: CustomizableUI.AREA_NAVBAR, id: "Firefox-button-mod", label: "Firefox", }); var FirefoxBtnMod = document.getElementById('Firefox-button-mod'); FirefoxBtnMod.setAttribute('type', 'menu'); var FirefoxBtnpopup = document.createXULElement("menupopup"); FirefoxBtnpopup.setAttribute("id", "FirefoxBtnpopup"); FirefoxBtnMod.appendChild(FirefoxBtnpopup); function menuadd() { var n, Item, FavIDs; FavIDs = [ 'file-menu', 'edit-menu', 'view-menu', 'history-menu', 'bookmarksMenu', 'tools-menu', 'helpMenu', 'menu_preferences', '-', 'fullScreenItem', 'charsetMenu', 'menu_openDownloads', 'menu_openAddons', 'webDeveloperMenu', 'javascriptConsole', '-', 'aboutName', 'restart', 'menu_FileQuitItem', ]; for (n = 0; n < FavIDs.length; n++) { var FavID = FavIDs[n]; if (FavID == '-') { Item = document.createXULElement("menuseparator"); } else if (FavID == 'restart') { Item = document.createXULElement("menuitem"); Item.setAttribute("label", "Restart Firefox"); Item.setAttribute("class", "menuitem-iconic"); Item.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgklEQVQ4jX1Su0pDQRC9hVjEVysBX8FCiKTZIsgumznnH2wikUQR9EsEwVrBwkrBXoPGSvATJIrxFcR8gkVAr81svIk3LizsnnmdOTNRNOSUSqUVknG4AA6H+fYdEVkDcEKyrYF7JL/0fSEii6mBJOdI1pNVScZq8wDeNMmniCz3BXvvZ0g+a1BbRLadc7P5fH40+BSLxUmSx5qkKyJLyep1NVxaayf+a5HkkRba6vWswa/GmCnFqgBaoQXFRgDsA/gmGfcYADhVYFsrVAY1EJFpADcJ/KBHCcA7ydh7P6P/B2V0q4kdyQ/F7kgeACgnE3RJxkGwMDIR2Q2CDU5G8fIwBvfqtJMQLAbwQnJV8d82ggZB1SBqyq0ow5r+j0OCda3wZIzJKFYm2dR2moGuMSZD8lH9N5I6XCVWdTxt/oVCYQzAufpd9xmdc7nEqrZEZNNam42iKLLWZknWwl6QbDvncn8qiMg8ycaQ/sNteO8X0nf0N1EVwBmAjjLq6H8jzf8HTUH5xYEpCK8AAAAASUVORK5CYII="); Item.setAttribute("oncommand", "Services.appinfo.invalidateCachesOnRestart() || Application.restart();"); } else { Item = document.getElementById(FavID); //if (Item) { // Item = Item.cloneNode(true); // Item.removeAttribute('key'); //} } if (Item != null) FirefoxBtnpopup.appendChild(Item); } } setTimeout(function() { menuadd(); }, 2000); if (icon == 0) { var cssStr = '@-moz-document url(chrome://browser/content/browser.xul), url(chrome://browser/content/browser.xhtml){' + '#TabsToolbar #Firefox-button-mod .toolbarbutton-icon {list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABodJREFUeNp8VVtsXFcVXefeO3fmzuPOw/Z47HH8fiTjOGlaJ7GbOA2B4kTQihSjSoB4fCAEEkTig39oP6iEVIlWICioqlC+UIMaUFqEooaQNMEktaOojd/2eDxjjz3jedy578fhOMISrVC3tH+Ozlln77XXWYcMJzhEQiL6eiXcybYi672IiEpg6VqchH3jcl/yfHOm7cTA4XS7LAfFhbVtq7hazpUebHzQmN/5m2v5p5ORev3SF69gPr+Bqu3HRt2HqgYIYEEpiOlQ4njUg+sRGpImQ0+1/fDw88eeywyn0RYiOJiKQg5JWNraxXZdOVBZ+/jpj6/f/cnKreIVsuu8ZpjcTULwiRB0DwjzJD7Y6n/u0RY/7RpkQjl/5JWzF4/ETqUktGobqNU5bIkiREEEdQCtZiLuavjGWIkb+MLtqe0N68zyPfrz3WW84QZg7V/Cfy7J41CMe+LHJyO/9vnbLyzEMy/2n+iMHo8YOLvzR8SL72NGS0NIdCJfqiJXabDWCRSNg74wi+HwOj7/7UZocKRlsrZqC9u72vJWQ6jZLgH/HRlIee4zgwnfd8fG2trO9FX9Xw0v4fjmn9BXuIrL5Sex3j0FKRTE8lqBccihWQ5DjsUxvejijbdyKC3ncGHK406do6djupC5MYtpw6FlPqtRqBQnzo1Iz4dCNSS1VciVRUjKEiplAzOlIUhdGdhaHcQfgsCoMQ0bpg345Wbk63F8sNgPUshirHuR9Gc6+h/Mybk7D0p3eUfkQt8ck78/1s0fq6kadAMwGK8Ox8gzgeDMQ1xU/wxZmcdtOgyDl+HoFlaXs6jXFHQP9SCQPohcLoCD+Wmk+zlsOlHl2vXiNSGT9B+6eDQ6ZfEmCA2w5IC9gXgUgVAYRy90Q2/twLVZATV/HWp5EWqlhFq5jOpOEaOjp8FxMRxICWhJ9zN1VDCUWe5vkt0WbjwtnpVFRCzPYcAUe8g8TyDKAXQeTEJI+/Cj98O47ptEItHGpKJiaXYGxZVlWJVd7O5pe0tBaX0RsRFWVXIETyb4wYlenOJ6I0KfWTdAfDxYCYxTCtsFtvPAnTmKaT2GQM8oUqkBmIqKplAUHal2dkkDVFWQfzSD3EczkIgJ0b/OMCIIObFALEwGhVLFIVrDg9TkA1wehu5i9nYdStbEZbkFiz2H0NUXgk00bFbpY61LfBicoTPuNVZ5Eb3pFXylS0NAUQD7BsPxY0cLO5xe8yTH9MATYa9wVLZMKAUdrXEPL5yUkGobQlGJgTSqyAQ3cCRRRNTvA29TePUqoNoYHmjG1GkHvGWAVvJwAgkU1GBZWN22Ns0qD8Kxl094SBLBYCdBNEjxVOIhjrVexkO1CymhjPFoDuGhfrykJHGvtAU0amzwQeZNMviBDmCeTUw7gDW3z9iqLm4I0zXzRrHou9Ru2wFGGsLNAYQHDQiaAbVhQNz4J74Uu8UACObmKd6+msV7hQTshsSARfSko5g4tADqfwTPSoBvm8S9v5TWizuNFWGT4sNba96HI3nnaa7XhMuoJ8kQPJ2D3x9AWRXx+3frrBoJ89wBrO6w10MtpioOw+0+vPTlHEZ6VuEWBPCZZ4AmBzf/PvOgoburPBOGrploOknJs02tHKjM0nHgCUxWhEOqQwS6OnCjwrzFGUEwPIggsTDRU8cvztdwsr0ICQor6AzEoyLmp/9qv/xK+bVdhd7ds1zvoUevvL1gfv0HvHtUGG1h0ovA3irC87mw9RqebdJw9msK5soqCvUwmgMKDrdoED0X1byNYFMYsSccUOM+3vqN+q+VAq7vOTm/Z42s+t11hyqdmjvZnjdEi0+wpx+AuaPCF5WYHTBlGBp64ipGWqtIhw0Ymgu9UoG/W0XLtyh4/ybe+WW58rPfkZeZgG4+ttx9Y2+AzcsF3+N645FHFcGqCahnHSjrNhuUBEfzQ6kTVCpsTTVhcw34OlUkz4Fpn+K91x310qt4Na/gDwzO+gT4Hj27Hu7P2nCDNj3cXNaCEc8DZWrTNkwY2w7MsgW3pkFwDYRkG3E2I3XHhzd/KxR++iZ9fb1Bf8Vw6vuAn/qYHoc/DLwwDnzvlIjRTFCMtPI82B8EPkDBJQjcFqAWBz4yyPa7c+79fyw7l014V9lZ5X+B/h/4fnSzSybaeBzvFLn+qMDFCE85iydWlaM7WQNLJZ3e1xzv32xvdq/zTwN8Fvh+BFkmWEbYboE1YP63dUYY9M86+B8BBgDCswWvL4souAAAAABJRU5ErkJggg==)}' + '#TabsToolbar #Firefox-button-mod {background: none !important;}' + '#toolbar-menubar #Firefox-button-mod .toolbarbutton-icon,#nav-bar #Firefox-button-mod .toolbarbutton-icon,#PersonalToolbar #Firefox-button-mod .toolbarbutton-icon' + '{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADnElEQVQ4jW2TbVDTBRzHf7DxtME2trGBMlkSjosEDBnHw44G88CrgK5jyJEVmgrF3MY2xkgeQrjUIuQ0sUsaEdQbOMSHIASRKMRAp1ypPP03yLvslDsLo7tk+/auM67P68/n5YfoaaRmbmjmJ+qE0p5T2YeHbph6bj/c2+F4qD50YeqFvGPHZVtKVeGUH0DrYOmzxYpnZRmRlGW3JjRNzBkHZ9E4OoOu+RW0z/yOqn4Hqk586GmuU989qVdY6vIEgn9rYzgJJ/eGtLW8mX3rJWPLH3X2Dk9fmw62zh7Ujv+G8sEFlPTdQVnTaXzVnOhZcjyzOv7lhvaje/wURORNOiGFX32NP/Jr4/OY+yAJTM1mnNXFYd/pARw4v4DinhnovnHhjc+vIzanEnV1qVi+KXxyzR7elf+iPJSq04OSr+8X3nWZBXCZRGDKgzGmFeHy20q839CAvLabyG2dQnrDIDLqR6HRt2HoYwVcwxHzDdbNafS1VlLvqpA+YUxiOE1SLFaG4V59DDqtr2LnwSak1lxEqPYjcDWViC/pQpbejonODDz6ecuKvdFPR2fzRb0uiwSMOQSMSYLpMhmu1CZjj6ESqveGsKP2EiQ7a8GKfQviNAuUeTbc6o+D26Vyd9cEtVO7mvctYxTDaZZiKCsQZ+T+2JFegPjXzyBFdw4a83lE5RwDS5YLf5EGFcUaPBoIhnsmDO1VYV/Q8diAvvkyERiTFN9p/PBDKgvn3k1Fld6MVts+jJwqQc6ug/AOTANPoEZXcwE8I8F47FCstVTHHSXLRjI6Crmri4c2gHlHAFcRGz/t5mA0l4OLuTyYkqWQSaLhy9qGl5NUcPRFY+1qJOZvaB8YDmwrpFd8KLF3u9/tRYsYTpsITmMQZg1ifJojQ3yEEjxRDoTcBOyKj8E1SxiWe6X4+16mZ7Q/ekqdGBhDRMQtDfJu/DHN/68F/UbMG0RgynlgrCKMGRToLE7Bhf1bMWOWYcnGxcp4BB445aum3VRDRFwiIgom2nSYT8NjUVz3pEqKyQwepouEmC0R4xeTFEsVEixYuVju9sLyNGut1UqXBP4k/88QCT6UVM6mwW5f7z8v8308V8I4+P45PiZSuJjW+sJZ7eW+c8L78ZEi1sD2TZRKRF7rp6IAIpmaqKrCj8ZO8nycdiH7fkcE+/5nSt+5epXPcKacXUFE8v+Nn4ITQhS1lU0aZQAVJgZQQXQgpfOJIomIs17+B2O9wdZQOBe6AAAAAElFTkSuQmCC)}' + '}'; 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); } else if (icon == 1) { var cssStr = '@-moz-document url(chrome://browser/content/browser.xul), url(chrome://browser/content/browser.xhtml){' + '#TabsToolbar #Firefox-button-mod {background: none !important;}' + '#Firefox-button-mod .toolbarbutton-icon{' + 'list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAQCAYAAAB+690jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAsdJREFUeNrMVltrE0EUntndNNWEtFZjbEsrtqmRmksx+guKlEIQfRAR9En0QXzzd/gu2EdfvSBFCJKCN1BrMSWgsUqb2IZeTGqbNCGb3dnxnJCUcXvJ+NbAxwyZc749c/abb5ZyzslB+lFHR087jMcAHoDSIt4CFAF5QFVcMB7lHDC4AMhHW/DwRn4ZU8UFDeBLxCfvnwmcPiKzg/T3uT+jY7EHMM3+s7Dy0zMaGog7VCUqw2MwayaRmh8jJ/wFe0GdQ0NDTpNZJRkijMUce0H09y93yTgVrelM6tW0KSSKOdxWkAK90z9+mt6EuSkDjMWcHU/IpdnmZjFpmiaRAcZizg4NaZ6eLtw4vPXuRsewAx0A9y6aMkEcqzAuADZETbFozEmo0ke0tuPApRCnS+Me7yHS7nYSRbVpijPSdrhAuv1L3H+hKGqKqp4etVEEipJSSvrik89uhIJnXTKt//otXbo4fumhxcmSyMPH73Wdu3b7qcPhiMjwmBafmc7mxzSFEmxbRVg7OTw8bIKm1mWIAoEAbqiTTeSyIg9NTXWsV61IrVKV1BSta0rZ5Tzqb9+9rzSOY0tg7F6aKpaKScMwiAwwFnPQh5oUTT/qBwzCQ3wNTe3lR1uAAuwgA+MPcyLX7Gjdj+jcBy9ZXegntcpR6Je6OwvjpLql042VLVIpLhNuLYoP9L188eT6SCTcLtPimS9JLXb56hsofJ6IHQI/GnDTuNrrjZJeb0sexthsZur5Ffr6MR4WXSyoMxQM6obJyjIFjYTDGhwdFQ5BXTdM8KM88UV1JnclOVUa4YPnLWsiV+dRRO3EXyUMWT/C2L20Uy5XpP0IY0U/0gQ1r926c3da8KN9TynEL8O4Zr+1aGa2xLOpm9t+tP+NZhGztka5VeL2guAPdOsUTNKSlyN2U7cH0s+TKHbU1eL/8GznH7TPj78CDAD/U5+2FYl1DgAAAABJRU5ErkJggg==") !important;' + '}' + '#Firefox-button-mod:not(:hover) .toolbarbutton-icon {' + '-moz-image-region: rect(0px 18px 16px 0px) !important;' + '-moz-transition: all 0.2s !important;' + '}' + '#Firefox-button-mod:hover .toolbarbutton-icon {' + '-moz-image-region: rect(0px 36px 16px 18px) !important;' + '-moz-transition: all 0.2s !important;' + '}' + '}'; 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); } })(); |
|
1楼#
发布于:2024-08-08 21:30
restart那个可以把Application.restart()改成
Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart)其余两个都是一样的问题:你把他们移到了新建的菜单里,导致原来的菜单栏收不到相关的触发事件没法处理。而且不止这两个,其他在子菜单里的还有很多是同样的情况 在 FirefoxBtnMod.appendChild(FirefoxBtnpopup);后面加上 FirefoxBtnpopup.addEventListener("command", (e)=>{let o=new Event("command"); for(let n in e){let p=Object.getOwnPropertyDescriptor(e, n);if(!p||p.configurable){Object.defineProperty(o, n, {value:e[n]})}}; document.getElementById("main-menubar").dispatchEvent(o); }); |
|
2楼#
发布于:2024-08-10 10:26
|
|