2011-11-15 16 views
0

メッセージパッシングを使用して、localStorageのデータを私のcontentscriptに渡そうとしています。すべてが正しいように見えるが、データは渡されていない。私は、メッセージの受け渡しがタッチされているかどうかを確認するコンソール書き込みを設定しました。これはJavaScriptを使用した初めてのので、構文が間違っている可能性があります。ここでChrome拡張メッセージlocalStorageを渡すと、値が定義されていません

は、私がextenstion中で働いているすべてのファイルは、以下のとおりです。

My Code On Gist

+1

リンクのタイトルは細部までこだわっています。 *(わかりやすくするために修正しました)* – ChaosPandion

+0

修正されました。 – Sterfry1988

答えて

0

あなたがsendRequestを使用することができるようにそれが同期しているかのように見えます。

function genericOnClick(info, tab) { 
    var sText = info.selectionText; 
    var daddr = sText.split(' ').join('+'); 

    chrome.extension.sendRequest(
    {method: "getLocalStorage", key: "saddr"}, 
    function(response) { 
     var saddr = response.data; 
     var homeTxt = "http://maps.google.com/maps?" + 
      "saddr=" + saddr.split(' ').join('+') + "&daddr="; 
     var url = homeTxt + daddr; 
     chrome.tabs.create({url:url}); 
     console.log("item " + info.menuItemId + " was clicked"); 
     console.log("info: " + JSON.stringify(info)); 
     console.log("tab: " + JSON.stringify(tab)); 
    } 
); 
} 
+0

私がhttp://code.google.com/chrome/extensions/messaging.htmlで説明を理解したのは、background.htmlにリクエストを送信して、background.htmlに応答を返すことでした。それがなぜ機能しないのか混乱しているのです。 – Sterfry1988

+0

私は先に進み、自分のスクリプトを修正しました。変更されたバージョンはhttps://gist.github.com/1369092で確認できます。スクリプトを実行すると、メッセージの受け渡し中に何も起こっていません。コンソールには、「マウスがクリックされました」というアクションしか表示されません。何かご意見は? – Sterfry1988

+0

@ Sterfry1988、background.htmlの3行目の前にログを記録するとどうなりますか?あなたは何か*を受け取りますか? – strager

関連する問題