Amazonで買ってよかったもの

記事内に広告を含む場合があります

Firefoxに再起動ボタンを追加する方法【アドオンの代替】

FirefoxがQuantumになってもFirefoxの再起動ボタンを追加する方法について紹介します。

昔はアドオン(拡張機能)で簡単に再起動ボタンを追加できたのですが、Quantumになってからはアドオンは使えなくなってしまいました。

アドオンでの追加はできなくなってしまいましたが、拡張スクリプトなどから再起動ボタンを追加することができました。

Firefoxに再起動ボタンを追加する

2024年3月にリリースされたFirefox124でも、userChrome.jsを更新することでカスタマイズができました。userChrome.jsの更新する方法については、こちらのFireFoxのカスタマイズ方法の記事をお読みください。

 

 

2021年9月リリースのバージョン92アップデートでうまく動作しなくなったら、github@alice0775さん のuserChrome.jsなどを最新化してみてください。
2021年6月にリリースされたFireFiox89に更新するとメニューの「ファイル」で表示が崩れていましたが、RestartFirefox.uc.js を修正したら正常になりました。
2021年3月にリリースされたFireFiox87に更新すると動作しなくなりますが、RestartFirefox.uc.js を修正したら再度動作するようになりました。

 

Firefoxは昔に比べても使用するメモリも効率的になったとはいえ、ずっと使っていると微妙にメモリの使用率が増えていきます。

メモリが少ないパソコンだとたまにメモリをリフレッシュするためにFirefoxを再起動したくなります。

単純にアプリを終了させて開き直すと、今開いているタブもリセットされてしまうので、タブを復元して再起動させたいです。

 

そんなわけで、この記事では「Firefox(Quantum)で再起動ボタンを追加する方法」について紹介します。

 

再起動ボタンが追加できたFirefoxのバージョン。

  • Firefox 69 ~ 124

 

スポンサーリンク
この記事を書いた人:まちゃ
ガジェット好き 自作PC歴20年超え スマホゲームのエンジニア アニメ・ゲーム好き

カスタマイズせずにFirefoxを再起動する方法

再起動ボタンを追加するカスタマイズ以外にもFirefoxを再起動させる方法はあります。

ボタンを追加するほどではないなと思うなら、こちらの方法でも十分かもしれません。

URLアドレスバーに「about:profiles」と入力して、Enterキーを押します。

URLアドレスバーに「about:profiles」と入力して、Enterキーを押します。

 

「プロファイルについて」が表示されるので、「通常の再起動」ボタンをクリックすればブラウザが再起動します。

「通常の再起動」ボタンをクリックすればブラウザが再起動します。

 

たまに再起動するなら、この「プロファイルについて」タブをブックマーク・お気に入りに登録しておけば少し早く再起動ができると思います。

 

カスタマイズに使うuserChrome.jsなどをダウンロードする

userChrome.jsなどをダウンロードする

再起動ボタンを追加するなどのカスタマイズをするために、userChrome.css、userChrome.js を使えるようにする必要があります。

詳しくはこちらのuserchrome.cssでカスタマイズについての記事をあわせてお読み下さい。

 

 

再起動ボタンを追加するスクリプトを配置する

2021年3月リリースのバージョン87までは、こちらのgithubの再起動するスクリプト「RestartFirefox.uc.js」をダウンロードして少し修正して使えました。

バージョン87ではBrowserUtilsの内容が変わってしまったため動作しなくなってしまいました。

 

バージョン89~

コメントをくださった方がいて気がついたのですが、メニューの「ファイル」に追加していた「再起動」メニューの影響で「ファイル」展開時の表示が崩れていました。

別のメニューアイテムをコピーしてきて、不要なパラメータを削除するようにしたら動くようになりました。

 

ダウンロードしたRestartFirefox.uc.jsをプロファイルフォルダ内の「chrome」フォルダに保存して修正しました。

ただコアな内容をほとんど変更しているので、DLせずにchromeフォルダ内に新規作成したほうが早いかもしれません。

 

RestartFirefox.uc.jsを以下のように修正しました。

(function() {
   if (location != 'chrome://browser/content/browser.xhtml') return;

   try {
      var propsBase = {
         label: 'Restart',
         tooltiptext: 'Restart (with right and middle click userChrome.js cache is emptied)',
         style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
         onclick: 'if (event.button == 1 || event.button == 2) { \
                  event.preventDefault(); \
                  Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \
                     invalidateCachesOnRestart(); \
                }; \
                let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);\
                Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");\
                if (cancelQuit.data)\
                   return;\
                let XRE = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);\
                if (typeof XRE.invalidateCachesOnRestart == "function")\
                   XRE.invalidateCachesOnRestart();\
                let appStartup = Cc["@mozilla.org/toolkit/app-startup;1"].\
                getService(Ci.nsIAppStartup);\
                appStartup.quit(Ci.nsIAppStartup.eAttemptQuit |  Ci.nsIAppStartup.eRestart);'
      };

      CustomizableUI.createWidget({
         id: 'restart-button',
         type: 'custom',
         defaultArea: CustomizableUI.AREA_NAVBAR,
         onBuild: function(aDocument) {         
            var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
            var props = propsBase;
            props["id"] = 'restart-button';
            props["class"] = 'toolbarbutton-1 chromeclass-toolbar-additional';
            props["label"] = false;

            for (var p in props)
               toolbaritem.setAttribute(p, props[p]);
            return toolbaritem;
         }      
      });
   } catch(e) { };   

   // <editor-fold desc="メニュー「ファイル」に追加する">
   var props = propsBase;
   props["id"] = 'restartfirefox-fileMenu2';
   var optionsitem = document.getElementById("menu_FileQuitItem");

   menuitem =  document.getElementById("menu_newNavigatorTab").cloneNode(true);
   for (var p in props){
      menuitem.setAttribute(p, props[p]);
   }
   menuitem.setAttribute("data-l10n-id", "");
   menuitem.setAttribute("label", "Restart");
   menuitem.setAttribute("accesskey", "");
   menuitem.setAttribute("acceltext", "");
   menuitem.setAttribute("command", "");
   menuitem.setAttribute("key", "");
   menuitem = optionsitem.parentNode.insertBefore(menuitem, optionsitem);
   // </editor-fold>



   var pane1 = document.getElementById('appmenuPrimaryPane');   
   if (pane1) {   
      menuitem = document.createElement('menuitem');   
      var props = propsBase;
      props["id"] = 'restartfirefox-fileMenu';

      for (var p in props)
         menuitem.setAttribute(p, props[p]);
      pane1.insertBefore(menuitem, document.getElementById('appmenu-quit'));
   }
})();

 

下から2つ目に「Restart」が追加されました。

 

バージョン87~

2021年3月にリリースされたバージョン87では、github@alice0775さんの修正対応を参考にして「RestartFirefox.uc.js」を変更したら、うまく動作しました。

 

ダウンロードしたRestartFirefox.uc.jsをプロファイルフォルダ内の「chrome」フォルダに保存して修正しました。

ただコアな内容をほとんど変更しているので、DLせずにchromeフォルダ内に新規作成したほうが早いかもしれません。

 

RestartFirefox.uc.jsを以下のように修正しました。

(function() {
   if (location != 'chrome://browser/content/browser.xhtml') return;
   try {
      var propsBase = {
         label: 'Restart',
         tooltiptext: 'Restart (with right and middle click userChrome.js cache is emptied)',
         style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
         onclick: 'if (event.button == 1 || event.button == 2) { \
                  event.preventDefault(); \
                  Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \
                     invalidateCachesOnRestart(); \
                }; \
                let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);\
                Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");\
                if (cancelQuit.data)\
                   return;\
                let XRE = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);\
                if (typeof XRE.invalidateCachesOnRestart == "function")\
                   XRE.invalidateCachesOnRestart();\
                let appStartup = Cc["@mozilla.org/toolkit/app-startup;1"].\
                getService(Ci.nsIAppStartup);\
                appStartup.quit(Ci.nsIAppStartup.eAttemptQuit |  Ci.nsIAppStartup.eRestart);'
      };

      CustomizableUI.createWidget({
         id: 'restart-button',
         type: 'custom',
         defaultArea: CustomizableUI.AREA_NAVBAR,
         onBuild: function(aDocument) {         
            var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
            var props = propsBase;
            props["id"] = 'restart-button';
            props["class"] = 'toolbarbutton-1 chromeclass-toolbar-additional';
            props["label"] = false;

            for (var p in props)
               toolbaritem.setAttribute(p, props[p]);            
            return toolbaritem;
         }      
      });
   } catch(e) { };   
   
   var menuitem = document.createElement('menuitem');   
   var props = propsBase;
   props["id"] = 'restartfirefox-fileMenu2';

   for (var p in props)
      menuitem.setAttribute(p, props[p]);      
   document.getElementById('menu_FilePopup').insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));

   var pane1 = document.getElementById('appmenuPrimaryPane');   
   if (pane1) {   
      menuitem = document.createElement('menuitem');   
      var props = propsBase;
      props["id"] = 'restartfirefox-fileMenu';

      for (var p in props)
         menuitem.setAttribute(p, props[p]);
      pane1.insertBefore(menuitem, document.getElementById('appmenu-quit'));
   }
})();

 

 

バージョン86以前

バージョン86以前は、こちらのgithubで公開されている再起動するスクリプト「RestartFirefox.uc.js」をダウンロードして少し修正します。

 

ダウンロードしたRestartFirefox.uc.jsをプロファイルフォルダ内の「chrome」フォルダに保存します。

 

Firefox69、70ではそのまま使えないので、RestartFirefox.uc.jsを少し修正して使います。

 

if (location != 'chrome://browser/content/browser.xul') return;

となっている箇所を、

このように修正します。(「browser.xul」→「browser.xhtml」)

if (location != 'chrome://browser/content/browser.xhtml') return;
「chrome://browser/content/browser.xul」は廃止されたようです。

 

修正後のファイルは、このようになります。

//      RestartFirefox_plus.uc.js   2

(function() {

   if (location != 'chrome://browser/content/browser.xhtml') return;
   
   try {
      CustomizableUI.createWidget({
         id: 'restart-button',
         type: 'custom',
         defaultArea: CustomizableUI.AREA_NAVBAR,
         onBuild: function(aDocument) {         
            var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
            var props = {
               id: 'restart-button',
               class: 'toolbarbutton-1 chromeclass-toolbar-additional',
               removable: false,
               label: 'Restart',
               tooltiptext: 'Restart (with right and middle click userChrome.js cache is emptied)',
               style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
               onclick: 'if (event.button == 1 || event.button == 2) { \
                           event.preventDefault(); \
                           Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \
                              invalidateCachesOnRestart(); \
                         }; \
                         BrowserUtils.restartApplication();'
            };            
            for (var p in props)
               toolbaritem.setAttribute(p, props[p]);            
            return toolbaritem;
         }      
      });
   } catch(e) { };   
   
   var menuitem = document.createElement('menuitem');   
   var props = {
      id: 'restartfirefox-fileMenu2',
      label: 'Restart',
      tooltiptext: 'Restart (with right and middle click userChrome.js cache is emptied)',
      onclick: 'if (event.button == 1 || event.button == 2) { \
                  event.preventDefault(); \
                  Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \
                     invalidateCachesOnRestart(); \
                }; \
                BrowserUtils.restartApplication();'
   };            
   for (var p in props)
      menuitem.setAttribute(p, props[p]);      
   document.getElementById('menu_FilePopup').insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));

   var pane1 = document.getElementById('appmenuPrimaryPane');   
   if (pane1) {   
      menuitem = document.createElement('menuitem');   
      var props = {
         id: 'restartfirefox-fileMenu',
         class: 'menuitem-iconic',
         label: 'Restart',
         tooltiptext: 'Restart (with right and middle click userChrome.js cache is emptied)',
         onclick: 'if (event.button == 1 || event.button == 2) { \
                     event.preventDefault(); \
                     Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \
                        invalidateCachesOnRestart(); \
                   }; \
                   BrowserUtils.restartApplication();'
      };            
      for (var p in props)
         menuitem.setAttribute(p, props[p]);
      pane1.insertBefore(menuitem, document.getElementById('appmenu-quit'));
   };

})();

 

修正は1箇所だけで、あとはFirefoxを再起動するだけです。

念のためスタートアップキャッシュを消して起動する

再起動ボタンのカスタマイズの準備ができたのでFirefoxを再起動してあげます。

念の為、スタートアップキャッシュを削除して起動します。

スタートアップキャッシュの削除は、firefox.exeを実行する時に、このオプションを付けるだけです。

-purgecaches

 

コマンドプロンプトでも起動できますが、firefox.exeからショートカットを作成してもできます。

アプリのショートカットにオプションを付けてダブルクリックで起動しました。

まずfirefox.exeを右クリックからショートカットを作成して、ショートカットのプロパティを開きます。

リンク先にオプションを追加しました。

“C:\Program Files\MozillaFirefox\firefox.exe” -purgecaches
ショートカットのプロパティ

Firefoxが起動して、再起動ボタンが追加されていれば成功です。

再起動ボタンの位置は、メニューにある標準機能のFirefoxのカスタマイズで好きな位置に配置できます。

Firefoxに再起動ボタンを追加する

スタートアップキャッシュのオプションは使用しないので、削除して問題ないです。

 

よくある質問

 

カスタマイズしないでFirefoxを再起動できますか?

はい、「about:profiles」から通常の再起動とアドオンを無効にして再起動ができます。

 

ツールバーに再起動ボタンを追加できますか?

はい、こちらの方法でFirefox再起動ボタンを追加することができます。

 

再起動ボタンを追加するアドオンはありますか?

今のところ、アドオンでは無さそうです。見かけたら教えていただけると嬉しいです。

 

Firefox(Quantum)でも再起動ボタンを追加できました

Firefoxに再起動ボタンを追加する

QuantumのFirefoxでも無事に再起動ボタンを追加することができました。

昔からFirefoxを使っているせいか、たまに再起動してリフレッシュさせたくなります。

タスクマネージャーのメモリ使用量を見ていても再起動させると、減るので再起動の効果は少しはあるのかなと思います。

 

パソコンのメモリ容量が不安なら、再起動ボタンを追加してたまにリフレッシュさせるのも良いかもしれません。

 

それでは、今回はこれまで。

ありがとうございました。

購入して本当によかった、おすすめガジェット
購入して本当によかった、おすすめガジェット

おもしろそうなガジェットや生活が便利・快適になりそうなのを見つけると、ついついポチってしまいます。

そんな様々なガジェットの中から、実際に購入して良かったと感じたおすすめのガジェットを紹介します。

\ 今すぐチェック /
Amazonで安く買い物する方法

ガジェットなどをAmazonでお得に買い物するには、Amazonギフト券にあらかじめチャージしてから購入するのがおすすめです。

Amazonギフト券は現金でチャージするたびにポイントが 最大2.5% 貯まります。

現金派クレカを持てなくても、Amazonギフト券を活用するとお得です!

 
\ 最大2.5%のポイントバック /
現金なので安心
クレカ無くてもOK
Firefox拡張機能
このページをシェアする
プロガジ.DEV

コメント

  1. なな より:

    Firefox69の頃からこちらの手順で再起動ボタンを追加し、とても便利に使わせていただいております
    Firefox87に更新後、ツールバーにボタンは表示されるもののクリックしても反応せず再起動しません
    新規プロファイルで試してみても同様です
    そちら様の環境では正常に動作しているのでしょうか?
    またどのようにしたら正常に動作しますでしょうか?

    • まちゃ より:

      なな さん

      コメントありがとうございます!
      すいません、FireFoxを更新すると使えなくなりますので、RestartFirefox.uc.jsの修正方法を記載しました。

  2. デコポン より:

    はじめまして。

    Firefox89で再起動ボタンを使わせて頂いています。

    一点確認させて下さい。

    私の環境では再起動ボタンを使うと、メニューバー内のファイルの項目が展開されず
    ファイルの部分をマウスオーバーするとそこがプルプル震えるような状態となります。
    まちゃさんの環境では問題ありませんか?

    なお、Tips内のuserChrome.jsを更新する方法は対応は済みです。

    以上、よろしくお願い致します。

  3. デコポン より:

    こんにちは。

    修正版を適用しました。
    問題なく動作しています。

    素早い対応ありがとうございます。

  4. デコポン より:

    お世話になります。

    本日、Firefoxを92にアップデートしたところ、再起動ボタンが消えてしまったのですが
    github@alice0775さんの92対応版を導入し、再度使えるようになりました。

    以上、報告致します。

目次へ
タイトルとURLをコピーしました