使用executeScript来执行popup.html的函数

问题描述:

所以,我试图使用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();" }); 

我试图执行popup.html这就是所谓的atacar的功能()apoiar(),但它不工作。

帮助? :)

+0

请帮助理解您添加的每段代码在哪里出现(是否在popup.html?内容脚本中?) – ronme 2012-01-13 19:34:20

+0

整个代码位于popup.html中。 – vitorc93 2012-01-13 21:50:44

由于atacar()和apoiar()也在popup.html中,因此无法从executeScript中运行它们。 您可以:

  • 插入这些功能也到代码串,你提供给executeScript,或
  • 更好的是,移动这两个函数成content script,然后你可以运行他们像你一样。