Google chrome extension 打开mailto:链接的Omnibar扩展

Google chrome extension 打开mailto:链接的Omnibar扩展,google-chrome-extension,Google Chrome Extension,我创建了一个omnibar扩展,用于搜索我们公司的crm。我希望允许用户执行以下操作:- 客户关系管理电子邮件:罗斯·达根 当他们按enter键时,我会给用户发送电子邮件。我的建议非常有效,并且我成功地获得了邮件收件人的uri,但是使用uri从示例中调用此代码没有任何作用:- navigate('mailto:ross.dargan@.....com'); function navigate(url) { chrome.tabs.getSelected(null, function (

我创建了一个omnibar扩展,用于搜索我们公司的crm。我希望允许用户执行以下操作:-

客户关系管理电子邮件:罗斯·达根

当他们按enter键时,我会给用户发送电子邮件。我的建议非常有效,并且我成功地获得了邮件收件人的uri,但是使用uri从示例中调用此代码没有任何作用:-

navigate('mailto:ross.dargan@.....com');

function navigate(url) {
    chrome.tabs.getSelected(null, function (tab) {
        chrome.tabs.update(tab.id, { url: url });
    });
}
我没有收到任何错误-但是默认邮件程序不会弹出-我知道我可以获取选项卡并插入脚本,因此我可能可以执行以下操作:-

chrome.tabs.getSelected(null, function (tab) {
        chrome.tabs.executeScript(tab.id, {code: 'window.location=mailto:ross.dargan.....com'});
    });

但是上面的代码只有在我将扩展访问权授予每台主机时才起作用,我可以这样做,但不愿意这样做。

在您的背景页面中使用iFrame似乎起作用

var mailtoFrame = document.createElement("iframe");
document.documentElement.appendChild(mailtoFrame);

function mailto(link){
mailtoFrame.setAttribute('src', link);
}

mailto("mailto:ross.dargan@google.com");

我是个白痴-看起来mailto链接在windows 8 cp上不起作用。应该先尝试一下-但是看起来tel:在使用上述方法时不起作用,所以我会尝试你的方法!