我目前的项目需要从内容脚本中打开/激活popup.html(browserAction)吗?我已经阅读了一些答案,但由于安全问题,这是不可能的。
E.g Ans:How can I open my extension's pop-up with JavaScript?
如果是这种情况,那么当按下CTRL + D快捷键时,Chrome书签管理器扩展程序如何执行此操作?
答案 0 :(得分:2)
他们只使用commands界面,事件名称为_execute_page_action
(或_execute_browser_action
)。他们将默认快捷方式设置为Ctrl+D
。
激活此命令将执行页面(或浏览器)操作的单击,打开弹出窗口或配置操作的任何操作。
Chrome仅在默认快捷键与内置命令不冲突时才会使用默认快捷键,但对于指定chrome_ui_overrides.bookmarks_ui
[1]的扩展名来说,它会例外,该扩展名目前仅限于开发者频道或谷歌的实验扩展。
Cast扩展用于以编程方式打开其弹出窗口,这是我见过的唯一一个。 API同样列入白名单:browserAction.openPopup。
答案 1 :(得分:1)
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/pageAction/setPopup
看起来他们正在使用它。
a.h.get(c).then(function(a) {
var c = chrome.pageAction;
a ? (c.setTitle({
tabId: b,
title: Ga
}),
c.setIcon({
tabId: b,
imageData: {
19: Cc,
38: Dc
}
})) : (c.setTitle({
tabId: b,
title: Ha
}),
c.setIcon({
tabId: b,
imageData: {
19: Ec,
38: Fc
}
}));
c.setPopup({
tabId: b,
popup: "popup.html"
});
c.show(b)
})
};
查看background_compiled.js
这看起来很受欢迎,但我还没有测试过。我简要地看一下代码,然后运行popup.html搜索。但这可能就是你要找的东西。