2016-03-22 15 views
-1

Googleのチュートリアルに続いて、ポップアップスクリプトからコンテンツスクリプトにメッセージを送信しています。メッセージを正しく渡すが、私は応答コールバックを呼び出すときに、私は次のエラーを取得する:Chrome拡張機能ポップアップとコンテンツスクリプトの間でメッセージを送信するにはどうすればよいですか?

Attempting to use a disconnected port object 

これはpopup.jsです:

chrome.tabs.query(
    { active: true, currentWindow: true }, 
    function(tabs) { 
    chrome.tabs.sendMessage(
     tabs[0].id, 
     { greeting: "hello" }, 
     function(response) { 
     console.log(response); 
     }); 
}); 

これはcontent.jsです:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) { 
    sendResponse('goodbye'); // <- Error here 
    }); 

このメッセージを送信して応答を返すにはどうすればよいですか?

答えて

0

これは、ポップアップウィンドウを閉じるには原因コンテンツページ上の警告が原因であることが判明。これにより、ポップアップとコンテンツスクリプトとの間の接続が切断されます。

-1

この例では、選択したタブのコンテンツスクリプトにメッセージを送信する方法を示しています。

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
    chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) { 
    console.log(response.farewell); 
    }); 
}); 

参照Link

+0

私は既にそれが働いていると言いました。私はコールバックについて聞いています。 – chris

関連する問題