2012-03-19 130 views
0

我创建了一个omnibar扩展,它搜索我们公司crm。我想允许用户执行以下操作: -Omnibar扩展打开mailto:链接

CRM电子邮件:罗斯Dargan酒店

,当他们按enter键我向用户发送电子邮件。我的建议与URI并没有什么伟大的工作,而我成功地获得URI出的邮件,但调用此代码(从样品): -

navigate('mailto:[email protected]'); 

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'}); 
    }); 

,但如果我给我的分机上面的代码才起作用访问我可以做的每个主机,但宁愿不要。

回答

0

使用在你的背景页面的iFrame似乎工作....

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

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

mailto("mailto:[email protected]"); 
+0

我是白痴 - 它看起来像mailto链接只是不工作在Windows 8 CP。应该首先尝试 - 但它看起来像电话:不能使用上述,所以我会尝试你的方法! – 2012-03-19 10:36:43