也是最近幾周的事情,Firefox 擴展大批量出現無法使用的情況,給用戶的感覺是莫名其妙:

像我這種還停留在 firefox 55 的老用戶,也是莫名驚詫!原先使用的 adblock 以及 Adblock u 都無法使用了,廣告鋪面而來,那空氣,糟透了。
據說原因是 firefox 的證書過期了,導致一部分擴展跟着倒霉。
還好,官方的反應還是快:


同樣,也給出了解決辦法——升級到 firefox 66.0.4。
或者,不想升級的,使用特殊版本可以設置:

如果願意升級的話,看到這里就算完了吧。
如果你是通用版,且不願意升級。那么還有兩個臨時解決方案。
其一、啟用插件調試模式臨時使用插件:
以 AdblockU 和 腳本之家為例:

在地址欄鍵入“about:debugging”

啟用啟動附加組件調試:

在
C:\Users\<Username>\AppData\Roaming\Mozilla\Firefox\Profiles\<example text>.default\extensions
文件夾中找到被禁用的 擴展,這里是 adblockultimate:

點擊確定,然后就 OK了。

讓我們看下啟用后的狀態:

不過這種方法 僅僅在 瀏覽器瀏覽時生效,一旦重啟瀏覽器,就又需要重新啟用了。
其二,還有一個時間稍微長點的辦法(此方法啟動可以直接啟用所有證書問題無法使用的擴展),據作者說24小時需要重新做一次,為什么是24 小時,我也不太明白,可能是 firefox 更新的計划任務嗎?
按下組合鍵:
ctrl-shift-J
調用 firefox 控制台:

根據你的版本選擇臨時啟用的代碼:
v56 版本及其下,比如我的是 ff 55:
async function set_addons_as_signed() { Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm"); Components.utils.import("resource://gre/modules/AddonManager.jsm"); let XPIDatabase = this.XPIInternal.XPIDatabase; let addons = await XPIDatabase.getAddonList(a => true); for (let addon of addons) { // The add-on might have vanished, we'll catch that on the next startup if (!addon._sourceBundle.exists()) continue; if( addon.signedState != AddonManager.SIGNEDSTATE_UNKNOWN ) continue; addon.signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED; AddonManagerPrivate.callAddonListeners("onPropertyChanged", addon.wrapper, ["signedState"]); await XPIProvider.updateAddonDisabledState(addon); } XPIDatabase.saveChanges(); } set_addons_as_signed();
v57 版本及以上:
// Re-enable *all* extensions async function set_addons_as_signed() { Components.utils.import("resource://gre/modules/addons/XPIDatabase.jsm"); Components.utils.import("resource://gre/modules/AddonManager.jsm"); let addons = await XPIDatabase.getAddonList(a => true); for (let addon of addons) { // The add-on might have vanished, we'll catch that on the next startup if (!addon._sourceBundle.exists()) continue; if( addon.signedState != AddonManager.SIGNEDSTATE_UNKNOWN ) continue; addon.signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED; AddonManagerPrivate.callAddonListeners("onPropertyChanged", addon.wrapper, ["signedState"]); await XPIDatabase.updateAddonDisabledState(addon); } XPIDatabase.saveChanges(); } set_addons_as_signed();

回車后 后運行


需要注意的是后面兩種辦法都只適合臨時啟用擴展,如果想一勞永逸,那還是直接升級到 firefox 66.0.4 及以上吧!
