嗯,这提示来的突然,之前火狐126.0版本后的新版由于不明原因,我的脚本很多都失效了,所以本地锁死了版本。结果,一个周末之后,再启动浏览器,所有插件全部被禁用,提示:未通过针对是否适用于 Firefox 的验证,现已被禁用(could not be verified for use in Firefox and has been disabled)。

当时内心大骂什么XX玩意儿。

考虑到这种问题必然不会是我一个人碰到的,而周一又因为娃发烧,请假在家带娃,就没管。周二上班了,谷歌找找解决方案,果然被坑的人多了去了,再reddit找到个方案实测可行,整理如下:

以下完整转载的步骤:

如果您的 FF 不是 ESR、Developer 或 Nightly,则“xpinstall.signatures.required”设置将被忽略,它们会在发布版本中禁用它。对于发布版本,您必须编辑 omni.ja 文件才能使该设置起作用。这有点复杂。

找到并编辑 omni.ja 文件。通过解压/重新打包或十六进制编辑。

在我看来,十六进制编辑更容易。打开文件并搜索 MOZ_REQUIRE_SIGNING,找到紧跟其后的“true”,在不影响文件大小的情况下将其更改为“false”(在 true 的 t 之前一个字母开始输入 false)。保存文件。

2. 启动 FF 并在 about:config 中将“xpinstall.signatures.required”设置为 FALSE,然后关闭它。

3. 暂时将“-purgecaches”参数添加到您的 FF 快捷方式,例如“Firefox.exe -private-window -purgecaches”。

4. 启动 FF。

现在应该启用所有扩展。

如果没有,请暂时启用开发控制台(about:config devtools.chrome.enabled -> True)重新启动 FF(如果需要),然后按 CTRL+SHIFT+J 并将下面的脚本复制并粘贴到窗口中,然后按 ENTER。

 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 && !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();

不要忘记禁用开发控制台并从快捷方式中删除“-purgecaches”参数。


后续

经过测试,发现这方法只有24小时有效,后面还是会复发,测试了下新版,看起来之前的问题已经不存在,使用起来一切正常,最终还是升级到了最新版。


参考资料

How do i re-enable extensions that are not verified for use in firefox.


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《2025 Firefox 未通过针对是否适用于 Firefox 的验证,现已被禁用 解决方案》相关的博文:


留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌