在我的扩展中,我创建一个选项卡,并results.html从名为 的后台脚本打开一个在其中命名的 html 文件background.js。创建选项卡后,我将注入一个名为results.js该新创建的选项卡的 JavaScript 文件。
但它在我的控制台中抛出以下错误background.js:
Unchecked runtime.lastError: Cannot access contents of url "chrome-extension://hcffonddipongohnggcbmlmfkeaepfcm/results.html".
Extension manifest must request permission to access this host.
Run Code Online (Sandbox Code Playgroud)
浏览其他 stackoverflow 问题的解决方案时,我尝试在以下位置添加以下权限manifest.json:
<all_urls>chrome-extension://*抛出错误:权限“chrome-extension://*”未知或 URL 模式格式错误。但以上都不起作用。
此外,results.js注入后应该发送消息以background.js获取响应一些数据以供输入results.html。
我的代码:
清单.json
{
"manifest_version":2,
"name":"Extension Name",
"description":"This is description of extension.",
"version":"1.0.0",
"icons":{"128":"icon_128.png"},
"browser_action":{
"default_icon":"icon.png",
"default_popup":"popup.html"
},
"permissions":["activeTab", "background", "tabs", "http://*/*", "https://*/*","<all_urls>"],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"web_accessible_resources": …Run Code Online (Sandbox Code Playgroud) 我有一个 chrome 扩展,用户输入一些信息并生成报告。当然,现在该报告每次都会根据用户输入的内容而有所不同。
我想要实现的目标是让我的扩展说:
嘿,背景页先生。这是您需要的信息,现在根据我给您的信息构建一些 html 并将其显示给用户。
这是manifest.json我正在使用的:
{
"manifest_version": 2,
"name": "XXXX",
"description": "XXXX",
"version": "1.0.0",
"permissions": ["storage", "tabs"],
"options_page": "settings.html",
"background":
{
"page": "background.html"
},
"content_scripts":
[
{
"matches": ["<all_urls>"],
"js": ["js/jquery-3.1.1.min.js", "js/bootstrap.min.js", "js/main.js", "js/background.js"],
"css": ["css/bootstrap.min.css", "css/font-awesome.min.css"]
}
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"icons": { "128": "logo.png" }
}
Run Code Online (Sandbox Code Playgroud)
这是我的background.html
<html>
<body>
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/background.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的background.js
$(document).ready(function() {
chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
$("body").html(msg.message);
console.log("Message from: …Run Code Online (Sandbox Code Playgroud)