Chrome 扩展 - 事件 Pages/Message 传递无效
Chrome Extension - Event Pages/Message Passing is not working
我是 Google 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
在这里,我正在尝试阅读我从 background.js
发送的 authKey
chrome.runtime.onMessage.addListener(function(request,sender,response){
alert(request.authKey);
});
很遗憾,我没有收到警报,也没有看到任何脚本错误。我经历了 Chrome Messaging API 并遵循了相同的
我哪里错了?
试试
"content_scripts":[
{
"run_at": "document_start",
更多信息:https://developer.chrome.com/extensions/content_scripts
或尝试在后台发送消息时设置超时
编辑:我还注意到 manifest.json 你有一个 HTTPS 匹配,而你正在创建一个带有 HTTP[=22 的选项卡=]地址
我是 Google 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
在这里,我正在尝试阅读我从 background.js
authKey
chrome.runtime.onMessage.addListener(function(request,sender,response){
alert(request.authKey);
});
很遗憾,我没有收到警报,也没有看到任何脚本错误。我经历了 Chrome Messaging API 并遵循了相同的
我哪里错了?
试试
"content_scripts":[
{
"run_at": "document_start",
更多信息:https://developer.chrome.com/extensions/content_scripts
或尝试在后台发送消息时设置超时
编辑:我还注意到 manifest.json 你有一个 HTTPS 匹配,而你正在创建一个带有 HTTP[=22 的选项卡=]地址