使用executeScript从popup.html执行一个函数

时间:2012-01-13 17:42:34

标签: function google-chrome google-chrome-extension popup

所以,我正在尝试使用 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(),但它不起作用

帮助? :)

1 个答案:

答案 0 :(得分:0)

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

  • 也将这些函数插入到您提供给executeScript的代码字符串中,或​​
  • 更好的是,将这两个函数移动到content script,然后就像你一样运行它们。