2012-01-13 7 views
0

から関数を実行すると、executeScriptを使用して、popup.htmlの関数を実行しようとしています。executeScriptを使用してpopup.html

私がやろうとしているものです。これらの行で

function atacar() { 
    $(document).ready(function() { 
     $("#target_attack").click(); 
    }); 
} 

function apoiar() { 
    $(document).ready(function() { 
     $("#target_support").click(); 
    }); 
} 

function enviar_comando (tipo) { 
    chrome.windows.getCurrent(function(win) { 
     chrome.tabs.getAllInWindow(win.id, function(tabs) { 
      for (i = 0; i < tabs.length; i++) { 
       if (tipo == "ataque") chrome.tabs.executeScript(tabs[i].id, { code: "atacar();" }); 
       else if (tipo == "apoio") chrome.tabs.executeScript(tabs[i].id, { code: "apoiar();" }); 
      } 
     }); 
    }); 
} 

ルック:

   if (tipo == "ataque") chrome.tabs.executeScript(tabs[i].id, { code: "atacar();" }); 
       else if (tipo == "apoio") chrome.tabs.executeScript(tabs[i].id, { code: "apoiar();" }); 

私はatacarと呼ばれていますpopup.htmlの機能を実行しようとしています()apoiar()が動作していません。

ヘルプ? :)

+0

追加したそれぞれのコードがどこに表示されるのかを明確にすることで助けてください(コンテンツスクリプトのpopup.htmlの中にありますか?) – ronme

+0

コード全体がpopup.htmlにあります。 – vitorc93

答えて

0

atacar()とapoiar()もpopup.htmlにあるため、executeScriptから実行することはできません。 次のいずれかが可能です。

  • あなたはexecuteScriptに供給しているにもこれらの関数のコードの文字列に挿入するか、
  • いっそ、content scriptにこれらの2つの機能を移動して、あなたはあなたが行うようにそれらを実行することができます。
関連する問題