zoukankan      html  css  js  c++  java
  • Firefox 扩展“未通过针对是否适用于Firefox的验证,现已禁用。”问题的解决

    也是最近几周的事情,Firefox 扩展大批量出现无法使用的情况,给用户的感觉是莫名其妙:

    像我这种还停留在 firefox 55 的老用户,也是莫名惊诧!原先使用的  adblock 以及 Adblock u 都无法使用了,广告铺面而来,那空气,糟透了。

    据说原因是  firefox 的证书过期了,导致一部分扩展跟着倒霉。

    还好,官方的反应还是快:

    同样,也给出了解决办法——升级到 firefox 66.0.4。

    或者,不想升级的,使用特殊版本可以设置:

     

    如果愿意升级的话,看到这里就算完了吧。

    如果你是通用版,且不愿意升级。那么还有两个临时解决方案。

    其一、启用插件调试模式临时使用插件:

    以 AdblockU 和 脚本之家为例:

    在地址栏键入“about:debugging”

    启用启动附加组件调试:

    C:Users<Username>AppDataRoamingMozillaFirefoxProfiles<example text>.defaultextensions

    文件夹中找到被禁用的 扩展,这里是 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 及以上吧!

  • 相关阅读:
    css
    css加号波浪号
    C++对象池
    C++11 智能指针
    C++内存泄漏检测(调试工具)
    JSONP是个嘛玩意?解决跨域问题?
    使用django + KindEditor 开发个人博客系统
    前端文本框插件KindEditor
    jQuery AJAX
    Django ModelForm表单验证
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/12841072.html
Copyright © 2011-2022 走看看