Envoi de message à partir de popup.js en extension Chrome pour background.js

Quelle est la bonne façon d'envoyer un message (et obtenir une réponse) à background.js à partir de popup.js dans une extension Chrome? Chaque méthode que j'ai essayer se termine avec une erreur:

"Port: impossible d'établir la connexion. Fin de réception n'existe pas."

Je préfère utiliser google chrome.l'extension.sendMessage() sur chrome.l'extension.connect() avec le port.postMessage(), mais ni la méthode semble avoir fonctionné.

Ce que je suis en train de faire est de câbler un bouton dans le popup.html pour appeler en javascript dans popup.js ce qui revient à background.js dans un effort pour obtenir plus de renseignements sur currentTab() qui a été le plus en haut (c'est à dire:pour obtenir l'URL de la chaîne à afficher dans la popup.html)

Maintenant dans popup.js (par câble à l'action du bouton) j'ai:

function getURL()
{
   chrome.extension.sendMessage({greeting: "GetURL"}, 
          function(response) { tabURL = response.navURL });

   $("#tabURL").text(tabURL);
}

Dans background.js j'ai:

chrome.extension.onMessage.addListener( function(request,sender,sendResponse)
{
    if( request.greeting == "GetURL" )
    {
        var tabURL = "Not set yet";
        chrome.tabs.getCurrent(function(tab){
            tabURL = tab.url;
        });

        sendResponse( {navURL:tabURL} );
    }
}

Des idées?

InformationsquelleAutor Dana Epp | 2013-09-09