2011-01-27 6 views
1

クロムエクステンションで、他のタブで使用できるタブ情報を覚えておく方法。他のタブで使用できる1つのタブ(またはウィンドウ)情報を覚えている方法

たとえば、具体的には、 私はクリックしたときに別のタブを開き、このためにchrome.createtabsをBackground.htmlで使用したタブの1つにボタンがあります。また、作成した新しいタブのタブID(tab1)を保存する変数も作成しました。私はmyscript.js(コンテンツスクリプト)のtab1を使用して親タブに情報を配置したいと思います。だから、私はbackground.htmlからコンテンツスクリプトにリクエストを送ることができますか?

または、background.htmlを使用してWebページにコンテンツを投稿する方法はありますか?

btw新しいTab IDを保存するためにlocalStorage ['tab1']を使用しました。

私は明らかではない場合は、私は知っている。ありがとう

答えて

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)私は上のボタンを配置した1つのタブ開いていると言います私のコンテンツスクリプトを使用してgoogle.com。ボタンは、 "cricinfo.com"というURLをクリックするとタブを作成する必要があります。今度は "espncricinfo.com"にリダイレクトされるので、このURLを元のタブに表示します。 これを完了しました 最初にurlでbackground.htmlにリクエストフォームのcontentscriptを送信しました。 Background.htmlは、そのURLを使用して新しいタブを作成します。 what'uveが言ったことを使って、background.htmlからコンテンツスクリプトに情報を送ってください。 しかし、それは変なことに仕事をしません。もっと具体的になりますか?ありがとう – RaviTeja

+0

@Raviいくつかのコードを表示できますか?たぶん、新しい質問を始めるほうがいい考えです。 – serg

+0

こんにちは、私は新しい質問のコードをhttp://stackoverflow.com/questions/4826263/problem-with-getting-the-tab-id-in-chrome-extensionに配置しました。 – RaviTeja

関連する問題