Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从后台线程启动Chrome扩展弹出窗口?_Javascript_Google Chrome_Google Chrome Extension_Popup_Uri - Fatal编程技术网

Javascript 如何从后台线程启动Chrome扩展弹出窗口?

Javascript 如何从后台线程启动Chrome扩展弹出窗口?,javascript,google-chrome,google-chrome-extension,popup,uri,Javascript,Google Chrome,Google Chrome Extension,Popup,Uri,我想写一个Chrome扩展,它将监视,当它遇到这个问题时,它将启动弹出窗口。我知道监视将在扩展的后台线程中完成,但我不确定如何从后台线程启动弹出窗口 想象一下在弹出窗口中允许一个简单的电子邮件编辑器这样的功能——当有人单击mailto链接时,弹出窗口似乎允许用户编写电子邮件并发送,而无需将他们带到新的浏览器窗口。我认为您不能使用registerProtocolHandler,但这并不意味着您不能编写自己的: 到目前为止,这是不可能的。无法以编程方式打开弹出窗口。只有当您单击图标或使用命令api将

我想写一个Chrome扩展,它将监视,当它遇到这个问题时,它将启动弹出窗口。我知道监视将在扩展的后台线程中完成,但我不确定如何从后台线程启动弹出窗口


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

我认为您不能使用
registerProtocolHandler
,但这并不意味着您不能编写自己的:


到目前为止,这是不可能的。无法以编程方式打开弹出窗口。只有当您单击图标或使用
命令
api将按键组合映射到该图标时,它才能打开。
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);