1、谷歌插件基本入门
可以参考小茗博客以及360浏览器开发文档
因content.js不能直接跨域访问,而background.js在谷歌浏览器的后台,不受域名限制,所以先通过前后端通信,然后跨域访问;
2、插件前端与后端通信
chrome.runtime.sendMessage({
data:"hello background"
},function(response){
console.log(response)
});
//监听来自后端的消息
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
console.log('收到来自 ' + (sender.tab ? "content-script(" + sender.tab.url + ")" : "popup或者background") + ' 的消息:', request);
});
//监听来自前端的消息
chrome.runtime.onMessage.addListener(function (request, sender,callback) {
callback("接收到前端消息;");
//发送消息到前端
chrome.tabs.sendMessage(sender.tab.id, {
data:"hello content"
});
})
3、跨域请求
var XHR = new XMLHttpRequest()
XHR.open("GET", "url地址",true)
XHR.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
XHR.onreadystatechange = function (data) {
if (XHR.readyState === 4) {
chrome.tabs.sendMessage(tabId, {
message: 'XHR_response',
data: XHR.responseText
})
}
}
XHR.send()