Chrome扩展background与content通信

简单使用content脚本与background脚本之间互相通信

配置文件

manifest.json中声明backgroundcontent

"background": {
	"scripts": ["background.js"]
},
"content_scripts": [{
	"all_frames": true,
	"js": ["content.js"],
	"matches": ["http:///", "https:///"],
	"run_at": "document_start"
}]
当然,代码仅供参考,具体API请查阅文档,这里只是说明要定义的文件名。

后台监听与发送

//	监听消息事件
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
	var msg = '后台收到信息:' + request;
	//	返回消息
	chrome.tabs.sendRequest(sender.tab.id, msg);
	console.log(msg);
});

内容脚本发送与监听

//	监听消息
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
	console.log('内容脚本收到信息:' + request);
});
//	发送消息
chrome.extension.sendRequest('内容脚本发送消息不需要指定也没有tab', function(data){});