Omnibar扩展打开mailto:链接

时间:2012-03-19 09:24:02

标签: google-chrome-extension

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

CRM电子邮件:ross dargan

当他们按回车键时,我通过电子邮件发送给用户。我的建议工作得很好,我成功地将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'});
    });

但是上述代码只有在我将扩展访问权限提供给每个我可以执行的主机时才会有效。

1 个答案:

答案 0 :(得分:0)

在您的背景页面中使用iFrame似乎可行....

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

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

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