在chrome.runtime.onMessage.addListener中调用函数

时间:2016-05-26 18:45:16

标签: javascript google-chrome google-chrome-extension

我正在创建Google Chrome扩展程序,我有一个background.js和一个content_script.js。当网页加载时,我向内容脚本发送一条消息来运行一个函数;不幸的是,它并没有像预期的那样表现。有问题的代码在我的content_script.js文件中,它看起来像这样:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        alert("Test 1 2 3");
        welcome(tab);
    }
);

我有一个名为welcome(tab)的函数,它将当前选项卡作为参数并执行一些任意函数。我知道正在收到消息,因为alert总是发生,但welcome函数永远不会被执行。我知道welcome功能有效,我已经做了大量的测试。当我添加addListener时,事情就停止了。有什么建议?到目前为止,我到处都是。此外,它可能与addListener函数有关,不知道全局tab变量是什么?

1 个答案:

答案 0 :(得分:1)

我认为问题是这里的标签。看看这个:https://developer.chrome.com/extensions/messaging

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        alert("Test 1 2 3");
        welcome(sender.tab);
    }
);