从内容脚本激活popup.html:Chrome扩展开发

时间:2017-03-21 09:33:51

标签: google-chrome google-chrome-extension

我目前的项目需要从内容脚本中打开/激活popup.html(browserAction)吗?我已经阅读了一些答案,但由于安全问题,这是不可能的。

E.g Ans:How can I open my extension's pop-up with JavaScript?

如果是这种情况,那么当按下CTRL + D快捷键时,Chrome书签管理器扩展程序如何执行此操作?

参考:Bookmark Manager Extension

2 个答案:

答案 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搜索。但这可能就是你要找的东西。