【问题标题】:How to launch a Chrome Extension popup from a background thread?如何从后台线程启动 Chrome 扩展弹出窗口?
【发布时间】:2013-05-10 20:13:54
【问题描述】:

我想编写一个 Chrome 扩展程序来监视URI link clicks,当它遇到它时它会启动它的弹出窗口。我知道监控将在 Extension 的后台线程中完成,但我不确定如何从后台线程启动弹出窗口?

想想这样的功能,例如允许在弹出窗口中使用简单的电子邮件编辑器 - 当有人单击 mailto 链接时,弹出窗口似乎让用户编写电子邮件并发送它,而无需将他们带到新的浏览器窗口。

【问题讨论】:

  • 目前,这是不可能的。您无法以编程方式打开弹出窗口。只有当您单击图标或使用commands api 将组合键映射到它时,它才能打开。

标签: javascript google-chrome google-chrome-extension popup uri


【解决方案1】:

我认为你不能用 registerProtocolHandler 做到这一点,但这并不意味着你不能编写自己的 content script

window.addEventListener('click', function (e) {
    if (e.target.href && e.target.href.indexOf('mailto:') != -1) {
        var email = e.target.href.replace('mailto:', '');
        // open your popup when an email is clicked
        window.open(...);
    }
}, false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多