我当前的项目需要从内容脚本打开/激活弹出窗口.html(浏览器操作(?我读过一些答案,说,由于安全问题,这是不可能的。
例如:如何使用 JavaScript 打开扩展的弹出窗口?
如果是这种情况,那么当按下 CTRL+D 快捷方式时,Chrome 书签管理器扩展程序是如何做到的?
参考: 书签管理器扩展
> 他们只是使用命令接口,事件名称为 _execute_page_action
(或 _execute_browser_action
(。他们将默认快捷方式设置为 Ctrl+D
.
激活此命令将执行单击页面(或浏览器(操作、打开弹出窗口或配置的操作的任何操作。
Chrome 仅在不与内置命令冲突的情况下遵循默认快捷键,但对于指定 [1] chrome_ui_overrides.bookmarks_ui
的扩展程序,它例外,该扩展程序目前仅限于开发频道或 Google 的实验性扩展程序。
用于以编程方式打开其弹出窗口的 Cast 扩展,这是我见过的唯一一个。该 API 同样被列入白名单:browserAction.openPopup。
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
这看起来受支持,但我还没有测试过。这是我简要查看代码并仅运行弹出窗口.html搜索。但这可能是您正在寻找的。