1. 想要从page发送消息到插件,直接使用chrome.runtime.sendMessage即可,消息会到达bg.js,再由bg.js将相应的消息传递给具体页面的content.js;
2. page上下文上的chrome实际上是一个很受限制的对象了,其只有chrome.runtime,而没有chrome.tabs也没有chrome.extentions这些对象了,这些对象的onXXX时间就更别想了;
3. content.js与page虽然都能够访问dom,但是两者并没有在同一个js的上下文空间;目前content.js想要命令page做什么事情,我自己都是通过附加js到document的方式;(不知道后续是否会发现更好的方式)
3.1. content.js的location.href 实际也是 当前page的页面,而不是 chrome://extentions什么的;
3.2. content.js 的chrome对象有 chrome.runtime.sendMessage 和 chrome.runtime.onMessage,而 page 里面的chrome对象只有 chrome.runtime.sendMessage却没有 chrome.runtime.onMessage,导致从bg.js的详细想要发送却只能到达content.js而不能到达page;
4. bg.js才是作为插件的控制中心,如果后续有服务端逻辑的话,作为中心控制的还是bg.js;(目前有尝试过page和Server的通信,还没有尝试过bg.js与Server的RESTful通信)
4.1. bg.js 才是在我心中的一个“App”对象,而其他的每个浏览器页面都只是一个个的slave;
5.
标签:插件,bg,chrome,笔记,js,content,runtime,page From: https://www.cnblogs.com/wenzd/p/17054475.html