2012-04-18 9 views
0

は私のコードです:拡張機能Bがインストールされている場合、chrome.management.onInstalled.addListenerアラート拡張機能を使用できますか?ここ

... 
if($("input:checked").length > 0) { 
    chrome.tabs.create(
     {url:"http://www.multiculturalyp.com/multiculturalypnewtab.crx"}, 
     function(tab) { 
      chrome.management.onInstalled.addListener(function(info){alert("Installed A");}); 
      chrome.management.onEnabled.addListener(function(info){alert("Enabled A");}); 
     } 
    ); 
    chrome.tabs.create(
     {url:"instructions.html"}, 
     function(tab) { 
      chrome.management.onInstalled.addListener(function(info){alert("Installed B");}); 
      chrome.management.onEnabled.addListener(function(info){alert("Enabled B");}); 
     } 
    ); 
} 
... 

だから何が起こっている:私は、拡張子を書いて、ユーザーはその第二拡張機能がインストールされている、その延長のオプション付きから選択しますので、私は、HTMLのフォームでの命令を起動する場合本当にインストールしたい場合は何をクリックするかをユーザーに伝えます。 2番目の拡張機能が自動的にインストールされるように、指示を非表示にしたい(指示タブを閉じる)。問題は、onInstalledイベントもonEnabledイベントもトリガーされていないように見えることです。上記の私の例は、イベントがトリガーされたときに警告する単純化されたロジックですが、これまで拡張機能BのonInstalledイベントを拡張機能Aで起動することはできません。初めての仕事です。アラートはAまたはBで終わり、最初に登録されたリスナー、第2のリスナー、またはその両方がトリガーされるかどうかを教えてください。

これは可能ですか?もしそうなら、私は間違って何をしていますか?

ありがとうございます。

+0

マニフェストファイルに適切な権限がありますか? – hamczu

+0

manifest.jsonのpermissionsセクション: "permissions":["tabs"、 "management"、 "extension"] –

答えて

1

私の提案 - 拡張子の付いたURLを実行する前にイベントをバインドしてみてください。イベントを一度バインドし、アクションのタイプを確認してください(バックグラウンドページで!):

chrome.management.onInstalled.addListener(function(info){ 
     if(info.id == MY_EXTENSION_ID){ 
      alert("Installed"); 
     }    
    }); 

    chrome.management.onEnabled.addListener(function(info){ 
     if(info.id == MY_EXTENSION_ID){ 
      alert("Enabled"); 
     } 
    }); 

    chrome.tabs.create({url:"http://www.multiculturalyp.com/multiculturalypnewtab.crx"}, 
     function(tab) {alert('tab was opened')}); 
+0

これはうまくいきませんでした。私の拡張はポップアップです:... "browser_action":{"default_icon": "icon.png"、\t "default_popup": "popup.html"}、...ポップアップchrome.tabs.createが呼び出されたときに消えます。 –

+0

もちろん、このイベントはバックグラウンドページになければなりません。ポップアップはいつでも閉じることができます! – hamczu

+0

クロムエクステンションの背景ページを設定するにはどうすればよいですか? –

関連する問題