2012-03-19 69 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