禁用弹出并调用browserAction.onClicked

Disable popup and call browserAction.onClicked

本文关键字:调用 browserAction onClicked      更新时间:2023-09-26

我正在制作一个Chrome扩展与"default_popup":"popup.html"

chrome.browserAction.onClicked的文档说:

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

我知道browserAction.onClicked不会在我的扩展中开火。但是我可以禁用弹出,使browserAction.onClicked可以开火吗?

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

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

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

同样,您可以通过提供一个有效的路径来启用之后的弹出:

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

无论如何,你都可以保持onClicked的侦听器-只是事件并不总是被调度。

请注意:你不能有弹出窗口禁用,捕获点击,然后显示弹出窗口-你只能改变什么发生在下一个点击。如果你想要一个弹出窗口和一些背景事件,最好是简单的消息背景从弹出窗口。