我正在创建一个chrome原生扩展。我使用chrome.tabs.sendMessage(tabs [0] .id,{parameters},function(response){});从background.js向内容脚本js页面发送消息的功能。在内容上收到发送消息使用chrome.extension.onMessage.addListener编写脚本(函数(msg,sender,sendResponse){// code goes here});方法。传递的邮件不适用于chrome:// settings,chrome:// extension,chrome:// history等页面。但邮件可以与google.com或其他任何网页等其他网页一起使用。
这是我的manifest.json文件的一部分
{
"manifest_version": 2,
"permissions": [
"storage",
"background",
"alarms",
"tabs",
"activeTab",
"http://*/*",
"https://*/*"
],
"background": {
"scripts": ["background.js","popup.js"],
"persistent": true
},
"content_scripts": [
{
"matches": ["<all_urls>","http://*/*", "https://*/*", "file:///*"],
"js": ["lib/jquery.js", "jquery.range2dslider.js", "popup.js"],
"css":["jquery.range2dslider.css", "popup.css"]
}
}
任何帮助都将不胜感激。
答案 0 :(得分:1)
chrome://
不是supported scheme。 "<all_urls>"
字面意思不是任何网址,而是任何支持的网址。
这是出于安全原因:Chrome不希望入侵其内部网页。
你不能在这样的环境中注入内容脚本,因此没有人可以听。