【问题标题】:Block "Would you like to remember this password ?" popup in firefox阻止“您想记住此密码吗?” Firefox中的弹出窗口
【发布时间】:2015-04-08 20:49:40
【问题描述】:

我正在使用 sdk 创建一个 firefox 插件,我想知道是否有任何方法可以阻止“您想记住这个密码吗?”登录网站时 Firefox 密码管理器显示的弹出窗口。我已经尝试过“自动完成”属性,但看起来 firefox 从版本 30 开始停止支持它。它在登录网站时不应该出现。请指教。

【问题讨论】:

    标签: javascript html firefox firefox-addon firefox-addon-sdk


    【解决方案1】:

    分析 FF 源代码后,我设法通过在表单中​​添加树形附加密码字段来修复它。 在那种情况下,FF 无法弄清楚要使用哪个密码字段:)

    <input type="password" style="display: none;"/>
    <input type="password" style="display: none;"/>
    <input type="password" style="display: none;"/>
    <input type="password" name="pass"/>

    【讨论】:

      【解决方案2】:

      添加popupshowing 事件监听器,如果它是密码气球的ID,则执行event.preventDefault(); event.stopPropagation() 以停止显示。

      或者你可以专门针对气球,通过获取它的 id 然后像这样附加它:

      例如:

      var win = Services.wm.getMostRecentWindow('navigator:browser');
      var PUI = win.document.getElementById('i dont know the id');
      
      var previt = function(e) {
        e.preventDefault();
      }
      PUI.addEventListener('popupshowing', previt, false);
      

      此代码仅附加到最近的导航器浏览器窗口,您将需要遍历所有导航器浏览器窗口,并监听并附加到新打开的 navigator:browser 窗口。

      【讨论】:

      • 我试过这个。但它返回“服务未定义”。所以我不得不用“Cc[”@mozilla.org/appshell/window-mediator;1”].getService(Ci.nsIWindowMediator);“但我需要在我的 contentscriptfile 中完成它。所以,我不能要求 Cc 和 Ci。
      • 内容脚本无法访问任何提升的/SDK 功能,因此无法直接在那里进行。如果您需要根据页面上发生的事情以编程方式决定禁止弹出窗口,您需要将消息发送回您的主扩展代码并在那里禁止它。
      • 我在附加到登录页面的内容脚本中尝试了“document.addEventListener("popupshowing", function(event) { event.preventDefault(); },false);”。 .但它没有用。 . event.stopPropagation() 也不起作用。
      • @MojoJojo 通过转到var {Cu, Ci, Cc} = require('chrome') 获得Services,然后在代码顶部执行Cu.import('resource://gre/modules/services.jsm'),然后您可以使用Services 模块
      • @Noitidart 请将“var PUI = win.document.getElementById('i dont know the id');”编辑为“var PUI = win.document”或删除该行并替换为“PUI。 addEventListener" 与 "win.document" 。 .因为它是可以调用 addEventListener 而不是元素的文档。
      猜你喜欢
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 2020-05-04
      • 1970-01-01
      相关资源
      最近更新 更多