我是谷歌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并遵循相同的
我哪里错了?
答案 0 :(得分:0)
尝试
"content_scripts":[
{
"run_at": "document_start",
更多信息:https://developer.chrome.com/extensions/content_scripts
或尝试在后台sendMessage
上设置超时编辑:我还注意到在manifest.json上,当您创建一个带有 HTTP 地址的标签
时,您有 HTTPS 匹配