拦截 browserAction.onClicked 以防止显示扩展页面
Intercept browserAction.onClicked to prevent display of extension page
当单击我的 Chrome 扩展程序的 browserAction 图标时,我想阻止它显示 browserAction 弹出窗口。我正在尝试使用 browserAction 图标来触发内容脚本的加载。
我该怎么做?
以下不会阻止它打开:
chrome.browserAction.onClicked.addListener(function (tab) {
alert('browserAction clicked');
return false;
});
这是我的 manifest.json 条目:
"browser_action": {
"default_icon": {
"19": "images/icon-19.png",
"38": "images/icon-38.png"
},
"default_title": "My extension"
}
文档说 This event will not fire if the browser action has a popup
,但是,如您所见,我没有定义弹出窗口,但它仍然不起作用。
当您按下 the extension button 时,会发生以下情况。
如果您为当前选项卡定义了弹出窗口(例如,通过清单中的 default_popup
键或 chrome.browserAction.setPopup
),则会显示该弹出窗口。 chrome.browserAction.onClicked
是 未提出 .
如果当前选项卡的弹出窗口未设置(或设置为空),则调度 chrome.browserAction.onClicked
。
因此,要永久禁用此功能,您只需从清单中删除 default_popup
。要以编程方式禁用它,您需要取消设置它:
chrome.browserAction.setPopup({
popup: "",
// tabId: id // optional, restrict to a single tab
});
当单击我的 Chrome 扩展程序的 browserAction 图标时,我想阻止它显示 browserAction 弹出窗口。我正在尝试使用 browserAction 图标来触发内容脚本的加载。
我该怎么做?
以下不会阻止它打开:
chrome.browserAction.onClicked.addListener(function (tab) {
alert('browserAction clicked');
return false;
});
这是我的 manifest.json 条目:
"browser_action": {
"default_icon": {
"19": "images/icon-19.png",
"38": "images/icon-38.png"
},
"default_title": "My extension"
}
文档说 This event will not fire if the browser action has a popup
,但是,如您所见,我没有定义弹出窗口,但它仍然不起作用。
当您按下 the extension button 时,会发生以下情况。
如果您为当前选项卡定义了弹出窗口(例如,通过清单中的
default_popup
键或chrome.browserAction.setPopup
),则会显示该弹出窗口。chrome.browserAction.onClicked
是 未提出 .如果当前选项卡的弹出窗口未设置(或设置为空),则调度
chrome.browserAction.onClicked
。
因此,要永久禁用此功能,您只需从清单中删除 default_popup
。要以编程方式禁用它,您需要取消设置它:
chrome.browserAction.setPopup({
popup: "",
// tabId: id // optional, restrict to a single tab
});