2016-05-26 18 views
0

私はGoogle Chrome拡張機能を作成しています。私はbackground.jsとcontent_script.jsを持っています。 Webページが読み込まれると、コンテンツスクリプトにメッセージを送信して関数を実行します。残念ながら期待どおりに動作していません。問題のコードは私のcontent_script.jsファイルであり、それは次のようになります。chrome.runtime.onMessage.addListener内の呼び出し関数

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) { 
     alert("Test 1 2 3"); 
     welcome(tab); 
    } 
); 

私は、パラメータとして現在のタブを取り、いくつかの任意の機能を実行しwelcome(tab)と呼ばれる機能を持っています。 alertが常に発生するため、メッセージが受信されていることがわかりますが、welcome機能は実行されません。私はwelcome機能が動作することを知っている、私は十分なテストを行った。 addListenerを追加すると、機能が停止しました。助言がありますか?私はこれまでのところどこでも見てきました。また、グローバル変数tabが何であるかを知らないaddListener関数と関係があるかもしれませんか?

答えて

1

問題はここのタブだと思います。これを見てください:https://developer.chrome.com/extensions/messaging

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) { 
     alert("Test 1 2 3"); 
     welcome(sender.tab); 
    } 
); 
+0

まあ、それはまだ動作していないようです。もしこれが正しいと確信していれば、私は 'welcome'関数のコードをもう一度調べることができます。しかし、あなたの編集を追加せずに' alert'がまだポップアップしても何も起こりません。 –

+0

@CameronPayton、私はそれについてもあまりよく分かりません。しかし、説明する必要があるものがあります。ウェルカム関数に必要なパラメータは、int(tab_id)またはタブオブジェクトまたはタブに関するその他の情報ですか? – Kelvin

+0

console.log(sender.tab)を使用して、このオブジェクトの詳細を調べ、必要な情報を使用できます。 – Kelvin

関連する問題