2011-08-07 11 views
0

コンテンツスクリプトを使用して背景ページに話をすることが可能であると背景ページの話できpage_actionポップアップ

chrome.extension.sendRequest 

背景ページは、コンテンツスクリプトに話をすることが可能です使用

chrome.tabs.getSelected(null, function(tab) { 
    chrome.tabs.sendRequest(tab.id, {}, function(response) { 
     // do something with response here 
    }) 
}) 

page_actionポップアップが

chrome.extension.sendRequest 
を使用して背景ページに話をすることが可能です3210

背景ページがポップアップと対話する方法はありますか?

ユースケースは

  • ポップアップが開いているので、それがバックグラウンドページは現在送信背景ページ
  • に要求を送信し
  • ページからいくつかの情報を取得したいものですコンテンツスクリプトへのリクエスト
  • コンテンツスクリプトはバックグラウンドページに応答を返します。
  • だから、バックグラウンドスクリプトはこれをポップアップに送る必要があります!!

    どうしますか?

答えて

1

ポップアップが開いている限り、chrome.extension.sendRequestを使用することができます。

あなたのワークフローを見てみると、背景ページをスキップしてポップアップから直接コンテンツスクリプトにリクエストを送信するのはなぜですか?その後、sendResponse()を使用して、データをポップアップに戻すことができます。

+0

/facepalm右のポップアップは、選択したタブを取得した後にコンテンツスクリプトに直接話すことができます。また、ポップアップに戻って話をする必要がある人には、ポップアップがリクエストを送信すると、バックグラウンドでコンテンツスクリプトに接続して結果を取得した後に応答を返す間に、バックグラウンドで接続を維持できます。 – molicule

+0

また、[chrome.extension.getBackgroundPage()](http://code.google.com/chrome/)を使用して、コンテンツページ以外の任意の拡張ページからバックグラウンドページにいつでもアクセスできることを忘れないでください。 extensions/extension.html#method-getBackgroundPage)。 – Alasdair

関連する問題