谷歌插件开发

271 阅读1分钟
browser_action  popup插件的交互界面
content_scripts 嵌入到用户页面的js
permissions 表示在哪些网页生效
background 运行在后台的程序,可联系popup和content之间数据传递
background 插件开始就会运行
popup 点开插件才会执行
background和popup可以使用locastorage来存储数据

background初始化时不能主动发给content,
一般是content先发消息,然后background监听消息,然后再发送消息给content


content或popup发给background:
chrome.runtime.sendMessage({},function(response){
    
})

backgroundcontent发送消息:
chrome.tabs.query({active:true,currentWindow:true},function(tabs){
    chrome.tabs.sendMessage(tabs[0].id,{},function(response){
        
    })
})

监听消息,contentbackground都可用:
chrome.runtime.onMessage.addListener((request,sender,sendResponse)=>{
    sendResponse({})
})



长连接(三端都可用):
var port=chrome.runtime.connect({name:'portName'})
port.sendMessage({})
port.onMessage.addListener(function(msg){

})

接收端(一般是在backgroundcontent使用):
chrome.runtime.onConnect.addListener(function(port){
    port.onMessage.addListener(function(msg){
        
    })
})

backgroundcontent建立长链接:
结合chrome.tabs.query()获取tabId然后建立长连接
let port=chrome.tabs.connect(tabId,{name:'portName'})