【问题标题】:Disable popup and call browserAction.onClicked禁用弹出窗口并调用 browserAction.onClicked
【发布时间】:2015-07-16 20:42:28
【问题描述】:

我正在制作一个带有 "default_popup":"popup.html" 的 Chrome 扩展程序。

chrome.browserAction.onClicked 的文档说:

单击浏览器操作图标时触发。此事件不会触发 如果浏览器操作有弹出窗口。

我知道browserAction.onClicked 不会在我的扩展程序中触发。但是我可以禁用弹出窗口以便browserAction.onClicked 可以触发吗?

结论:当我的扩展程序正在运行时,我想禁用popup 并在我的background.js 中有一个chrome.browserAction.onClicked,以便稍后我可以调用browserAction.onClicked。可能吗?如何?另外我想知道如果我可以做相反的意思禁用browserAction.onClicked并启用popup

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension


    【解决方案1】:

    您可以通过将弹出路径设置为空字符串来禁用弹出窗口(自动启用onClicked 事件的调度):

    chrome.browserAction.setPopup({popup: ""});
    

    同样,您可以在之后通过提供有效路径来启用弹出窗口:

    chrome.browserAction.setPopup({popup: "popup.html"});
    

    无论如何,您都可以保留onClicked 的侦听器 - 只是事件并不总是被分派。

    请注意:您不能禁用弹出窗口,捕获点击然后显示弹出窗口 - 您只能更改 下一次 点击时发生的情况。如果您想在后台同时弹出窗口和某些事件,最好simply message background from the popup

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多