激活弹出窗口.html来自内容脚本:Chrome 扩展程序开发



我当前的项目需要从内容脚本打开/激活弹出窗口.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搜索。但这可能是您正在寻找的。

最新更新