Chrome扩展程序 - 事件页面/消息传递无效

时间:2017-02-22 13:37:45

标签: google-chrome google-chrome-extension messaging content-script

我是谷歌Chrome扩展程序开发的新手,我正在解决导致内容脚本无法执行的问题。以下是该问题的详细说明。

我正在使用扩展程序从网站上读取一些DOM内容,例如 example.com 我有以下文件及其相应的代码部分。

清单

{
    "manifest_version" : 2,

    "name" : "My First Chrome App",
    "description" : "My First Chrome App",
    "version": "1.0",

    "browser_action" : {
        "default_title" : "Hello"
    },

    "permissions" : ["tabs"],

    "background" : {
        "scripts" : ["background.js"],
        "persistence" : false
    },

    "content_scripts":[
    {
      "matches": [
        "http://example.com/HomePage.aspx"
      ],
      "js": ["jquery_224.js", "content_script.js"]
    }]
}

background.js

我的目的是创建一个标签并浏览到下面脚本中提到的页面。并且,它必须向content_script.js

发送消息
chrome.browserAction.onClicked.addListener(function(){
  chrome.tabs.create({ url: "http://example.com/HomePage.aspx" }, function(tab){
    chrome.runtime.sendMessage({authKey : "parse-dom"});
    setTimeout(function(){
        chrome.tabs.remove(tab.id);
    }, 2000);
  });
});.

content_script.js

我在这里尝试阅读authKey

中发送的background.js
chrome.runtime.onMessage.addListener(function(request,sender,response){
    alert(request.authKey);
});

不幸的是,我没有收到警报,也没有看到任何脚本错误。我已经浏览了Chrome Messaging API并遵循相同的

我哪里错了?

1 个答案:

答案 0 :(得分:0)

尝试

"content_scripts":[
{
    "run_at": "document_start",

更多信息:https://developer.chrome.com/extensions/content_scripts

或尝试在后台sendMessage

上设置超时

编辑:我还注意到在manifest.json上,当您创建一个带有 HTTP 地址的标签

时,您有 HTTPS 匹配