我有一个chrome扩展,用户输入一些信息并生成一个报告。当然,这个报告每次都会根据用户输入的内容而有所不同。发送消息到背景页面,更新html,然后在标签中显示
我想实现什么,是我的分机说:
嘿,先生的背景页。以下是您需要的信息,现在根据我给您的内容创建一些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": [""],
"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" }
}
这里是我的background.html
这里是我的background.js
$(document).ready(function() {
chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
$("body").html(msg.message);
console.log("Message from: " + msg.message);
});
});
现在,当用户clic KS在我的扩展按钮,我用下面的代码来发送消息:
$("#generate").click(function() {
chrome.tabs.create({url: 'background.html'});
chrome.runtime.sendMessage({
message: "Sample message."
});
});
现在我所期待的事情发生,是我的background.html页面打开,然后在页面变化的身体基于什么消息被发送,但这不起作用。
任何想法?