メッセージパッシングAPIを使用して、リッスンする同じページにリクエストを送信することは可能ですか? うまくいかないようです!
1 つの解決策は、他のページにリスナーをセットアップしてから、要求を親ページにリダイレクトすることです。しかし、それはハックであり、私は本当にそれをしたくありません:(
編集(更新)
背景.html (0)
chrome.extension.sendRequest({action:'foo'}, function(response) {
//do stuff
});
インデックス.html (1)
chrome.extension.sendRequest({action:'foo'}, function(response) {
//do stuff
});
background.html (2)
chrome.extension.onRequest.addListener(function(request,sender,sendResponse) {
if(request.action=='foo') //do stuff
});
...
...
//the code form (0)
上記から (1) は機能しますが、(0) は機能しません:(
編集2
(2) から
chrome.extension.onRequest.addListener(function(request,sender,sendResponse) {
switch(request.action) {
case 'foo': //do some stuff here
break;
}
});
上記のスイッチはかなり長くなりました..おそらく30エントリ..さらに、イベントリスナーを突く以外にスイッチを呼び出す方法はありません。(または、何か不足していますか?)
のコードを同じファイルのその下のどこかで実行したいcase 'foo':
ので、(0)で呼び出してみました。