如何以编程方式打开chrome extension popup.html

lom*_*mse 21 google-chrome-extension

我使用谷歌扩展创建了一个桌面通知,效果很好:

icon = '';
    var popup = window.webkitNotifications.createNotification(my notification');
            icon, 'Awesome title', 'Click here to view more. ');
    popup.show();
Run Code Online (Sandbox Code Playgroud)

当用户点击桌面通知时,有没有办法启动实际的google扩展程序popup.html(如下图所示)?

popup.html 桌面通知

谢谢.

Fra*_*yer 11

简短的回答是,你不能,但如果你想在新标签中打开弹出窗口,这就是你要这样做的方法:

在你打电话之前把这个 show

popup.onclick = function() { 
    chrome.tabs.create({url : "popup.html"}); 
    popup.cancel();
}
Run Code Online (Sandbox Code Playgroud)

  • 请参阅http://stackoverflow.com/questions/10479679/how-can-i-open-my-extensions-pop-up-with-javascript.谷歌开发人员明确表示他们不会允许这项功能. (4认同)

Amb*_*ung 5

我想添加到 Miscreant 发布的评论中。

一种可行的方法是为扩展程序清单中的弹出窗口设置键盘快捷键,然后使用可执行文件人为触发该键盘快捷键。有关如何从扩展与可执行文件通信的更多信息,请参阅本机消息传递

这就是您设置打开扩展程序的快捷键的方式。

...
"commands": {
"_execute_browser_action": {
    "suggested_key": {
          "default": "Ctrl+Shift+Y"
        }
}
Run Code Online (Sandbox Code Playgroud)

这是关于 'commands' 的 API