2011-01-27 46 views
1

在Chrome擴展中,如何使Chrome瀏覽器記住其他選項卡可以使用的選項卡信息。如何使Chrome瀏覽器記住可在其他選項卡中使用的一個選項卡(或窗口)信息

例如或更具體的, 我有一個按鈕在其中一個標籤,當點擊打開另一個選項卡,我用這個在background.html chrome.createtabs。我還創建了一個變量,它將保存創建的新選項卡的標籤ID(比如tab1)。我想在myscript.js(內容腳本)中使用tab1將信息放在父標籤中。那麼我怎樣才能從background.html發送請求到內容腳本?

或者有什麼方法可以使用background.html將內容發佈到網頁上嗎?

btw我用localStorage ['tab1']保存新的標籤ID。

讓我知道我不清楚。謝謝

回答

1

這一切都在Message Passing與例子中描述。從背景頁面發送一條消息,內容腳本:

background.html 
=============== 
chrome.tabs.getSelected(null, function(tab) { 
    chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) { 
    console.log(response.farewell); 
    }); 
}); 

content_script.js 
================= 
chrome.extension.onRequest.addListener(
    function(request, sender, sendResponse) { 
    console.log(sender.tab ? 
       "from a content script:" + sender.tab.url : 
       "from the extension"); 
    if (request.greeting == "hello") 
     sendResponse({farewell: "goodbye"}); 
    else 
     sendResponse({}); // snub them. 
    }); 
+0

嗨SERG, 我會加入更多內容, 說有一個標籤頁中打開(google.com)我已經放在一個按鈕google.com使用我的內容腳本。按鈕應該創建一個標籤,當點擊URL爲「cricinfo.com」。現在它重定向到「espncricinfo.com」,所以我想這個網址顯示在我的原始標籤。 完成了這個 首先我發送一個請求表單contentscript到background.html與URL。 Background.html創建一個採用該URL的新選項卡。 使用你所說的將background.html中的信息發送到內容腳本。 但奇怪的是它不工作。你現在可以更具體嗎?謝謝 – RaviTeja 2011-01-28 04:05:53

相關問題