首页 文章

chrome扩展消息传递不起作用于chrome:// settings,chrome://扩展页面[重复]

提问于
浏览
1

这个问题在这里已有答案:

我正在创建一个chrome原生扩展 . 我使用chrome.tabs.sendMessage(tabs [0] .id,,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 回答

  • 1

    对于权限/内容脚本匹配, chrome:// 不是supported scheme . "<all_urls>" 并不是字面意思是任何URL,而是任何支持的URL .

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

    你不能在这样的上下文中注入内容脚本,因此没有人可以听 .

相关问题