禁用弹出窗口并调用browserAction.onClicked

Sid*_*Sid 2 javascript google-chrome google-chrome-extension

我正在制作Chrome扩展程序"default_popup":"popup.html".

文件chrome.browserAction.onClicked说:

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

我知道browserAction.onClicked不会在我的分机中开火.但我可以禁用弹出窗口以便browserAction.onClicked可以触发吗?

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

Xan*_*Xan 5

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

chrome.browserAction.setPopup({popup: ""});
Run Code Online (Sandbox Code Playgroud)

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

chrome.browserAction.setPopup({popup: "popup.html"});
Run Code Online (Sandbox Code Playgroud)

你可以保持一个听众onClicked- 只是事件并不总是被调度.

请注意:您无法禁用弹出窗口,捕获点击,然后显示弹出窗口 - 您只能更改下次单击时发生的情况.如果你想在背景中同时使用弹出窗口和某个事件,最好只是从弹出窗口中发送背景信息.