2012-02-07 11 views
0

私はGoogleの拡張機能に問題があります。バックグラウンドページに情報を送信するのに適切だと考えていますが、拡張機能を実行しようとすると「Uncaught TypeError:Object [オブジェクトDOMWindow]にはメソッドがありません 'より近くに "何が起きているのか、なぜ知っていますか?背景の取得に関する問題

popup.html

var i = 0; 

function start(){ 

     var bg = chrome.extension.getBackgroundPage(); 
     bg.closer(i); //chrome.extension.sendRequest({}); 
} 

function add(){ 

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

     i--; 
     document.getElementById('box').value=i; 
} 

background.html

var ctr = 0; 

function closer(int i){ 

     var t=setTimeout("close()",i*500); 
} 

function close(){ 

     chrome.tabs.getSelected(null, function(tab) { 
      chrome.tabs.remove(tab.id, function() { }); 
     }); 
} 

manifest.jsonを

{ 

    "name": "Hello World!", 
    "version": "1.0", 

    "description": "My first Chrome extension.", 

    "permissions": ["tabs", "background"], 

    "background_page": "background.html", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "popup": "popup.html" 
    } 
} 

答えて

0

ちょうどそのBG変数にメッセージを送信することはできません。

BGにメッセージを送信するために特別なアプローチがあり、などのsendRequest()をよく読んでください

http://code.google.com/chrome/extensions/extension.html#method-sendRequest

+0

getBackgroundPage次に何です();のために使用されることを意味する? – easilyBaffled

+0

そのページからデータを取得する場合は、そのページのDOMを読み取ることができます。また、popup.hmtlからタブを閉じることもできます。 – tomdemuyt

+0

私はポップアップでタブを閉じることができますが、私が知る限り、私がスタートを押してポップアップが消えると、閉じるを遅らせるカウンター番号がすぐに消えてしまいます。 – easilyBaffled