2012-01-13 54 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();" }); 

我試圖執行popup.html這就是所謂的atacar的功能()apoiar(),但它不工作。

幫助? :)

+0

請幫助理解您添加的每段代碼在哪裏出現(是否在popup.html?內容腳本中?) – ronme 2012-01-13 19:34:20

+0

整個代碼位於popup.html中。 – vitorc93 2012-01-13 21:50:44

回答

0

由於atacar()和apoiar()也在popup.html中,因此無法從executeScript中運行它們。 您可以:

  • 插入這些功能也到代碼串,你提供給executeScript,或
  • 更好的是,移動這兩個函數成content script,然後你可以運行他們像你一樣。