2012-09-11 87 views
3

我試圖建立一個簡單的擴展名,其中包含一個圖標,當點擊時,彈出官方微博窗口(如在here)。這樣做的大多數擴展的問題是,窗口保持打開狀態。但是,如果您包含由Twitter提供的this script,他們會在幾秒鐘後關閉窗口,而這正是我想要做的,所以我試圖注入該代碼,然後執行該URL。 (請記住我的JavaScript和Chrome擴展知識是非常有限的)。建立鉻擴展鳴叫

這是我到目前爲止。

function onClicked(tab) { 
     var twitterWidgets = document.createElement("script"); 
     twitterWidgets.type = "text/javascript"; 
     twitterWidgets.src = "https://platform.twitter.com/widgets.js"; 
     var head = document.getElementsByTagName("head")[0]; 
     head.appendChild(twitterWidgets); 

     var urlToTweet = "https://twitter.com/intent/tweet?" 
    + "text=" + encodeURIComponent(tab.title) 
    + "&url=" + encodeURIComponent(tab.url); 

     //window.open(urlToTweet); 
} 

chrome.browserAction.onClicked.addListener(onClicked); 

window.open是不行的,因爲它會打開一個新的標籤。 window.location和變體都不是,它們甚至都不起作用。我意識到我可能不得不添加一些 chrome.extension.getURL twitterWidgets.src,或類似的東西,但在這一點上,我混淆腳本越多,我越困惑。

任何幫助正確的方向是非常感謝。

+0

不知道這些工作,但值得一試的:chrome.window.create(http://developer.chrome.com/extensions/ windows.html#method-create),或者清單文件(http://developer.chrome.com/extensions/browserAction.html#manifest)中的「default_popup」屬性可以讓你將html頁面設置爲url意圖(我懷疑它可以讓你這樣做)。 – 755

回答

0

我不是真的想要做什麼,但如果你使用window.open這樣它會打開在同一頁面。

window.open("http://www.insertUrlHere.com","_self") 

希望這有助於和足夠簡單

+0

我正在嘗試打開Twitter意向窗口(另一個窗口),並在發送推文後自動關閉它。 – user137369