Chrome扩展程序消息传递不起作用于chrome:// settings,chrome://扩展页面

时间:2016-08-18 09:48:10

标签: google-chrome-extension

我正在创建一个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"]
}

}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于权限/内容脚本匹配,

chrome://不是supported scheme"<all_urls>"字面意思不是任何网址,而是任何支持的网址。

这是出于安全原因:Chrome不希望入侵其内部网页。

你不能在这样的环境中注入内容脚本,因此没有人可以听。