2011-12-27 11 views
2

ポップアップウィンドウに変数を設定しようとしています。iというラベルを付けて、バックグラウンドページに送信しています。私は、変数を "要求"として入れることができると信じていますが、私はそれについて間違っているかもしれません。私は拡張子を実行しようとすると私が取得:ポップアップと背景Chrome拡張機能の連携

Uncaught TypeError: Cannot call method 'sendRequest' of undefined

私は何をしないのですか?

var i = 0; 
function start(){ 
    alert("working"); 
    chrome.tabs.sendRequest(i); 
} 

function add(){ 
    i++; 
    document.getElementById('box').value=i; 
} 

function sub(){ 
    i--; 
    document.getElementById('box').value=i; 
} 
+0

[この質問](http://stackoverflow.com/questions/4865850/google-chrome-extension-develompent)は、あなたが同様にあなたのケースを解決するのに役立つかどうかを確認してください。 –

答えて

4

あなたが背景ページのwindowオブジェクトへの参照を取得するためにchrome.extension.getBackgroundPage関数を呼び出す必要があります。

は、ここに私のpopup.htmlファイルです。ここでは、setIValue関数がバックグラウンドページで定義されている例を示します。

var i = 0, bgPage = chrome.extension.getBackgroundPage(); 
function start(){ 
    alert("working"); 
    bgPage.setIValue(i);   
} 
+0

お返事ありがとうございます、できる場合はもう1つ質問あります。 .setIValue(i)の場合。 bgPageで変更したい値を指定するにはどうすればよいですか? – easilyBaffled

+0

「どのような値」ではなく「どの変数」を意味しますか?バックグラウンドページで定義された変数を設定する場合は、 'bgPage.myVariable = i'と書いてください。 –

+0

追加する必要があるパーミッションはありますか?私は "未定義のgetBackgroundPage 'メソッドを呼び出せず、後で" bgPage.ctr = i;を実行しようとすると "未定義のプロパティ' ctr 'を設定できません。 – easilyBaffled

関連する問題