我有一个名为 Shrtr 的 URL 缩短 Chrome 扩展程序.现在,它允许用户将缩短的 URL 复制到剪贴板,但在下一个版本中,我添加了通过电子邮件发送缩短的 URL 的功能,使用 mailto:
链接(即 mailto:?subject=<original page title>&body=<short URL>
)。
问题是,你不能只分配 document.location.href = 'mailto...';
从扩展。以下 2 种方法对我有用,但是对于这两种方法,我最终都会在浏览器中打开一个空白选项卡:
方法一:window.open
var wnd = window.open(emailUrl);
setTimeOut(function() {
wnd.close();
}, 500);
注意在关闭窗口之前需要等待。这有效(即邮件客户端新消息对话框出现,预填充),但新选项卡保持打开状态。
方法二:使用chrome.tabs
chrome.tabs.create({ url: emailUrl }, function(tab) {
setTimeOut(function() {
chrome.tabs.remove(tab.id);
}, 500);
});
再次,有效 - 但选项卡保持打开状态。有什么想法吗?
最佳答案
var emailUrl = "mailto:blah@blah.com";
chrome.tabs.update({
url: emailUrl
});
关于javascript - 如何打开一个mailto : link from a Chrome Extension?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21792565/