首页 > 其他分享 >chrome 插件开发笔记

chrome 插件开发笔记

时间:2023-01-15 23:46:15浏览次数:42  
标签:插件 bg chrome 笔记 js content runtime page

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

相关文章

  • JavaScript学习笔记—window对象
    window对象浏览器为我们提供了一个window对象,可以直接访问window对象代表的是浏览器窗口,通过该对象可以对浏览器窗口进行各种操作,除此之外window对象还负责存储JS中的内......
  • JavaScript学习笔记
     JavaScript学习笔记概念脚本语言:一行一行的翻译成机器语言,并一行一行的执行;而不是全部编译执行; 作用表单动态校验、网页特效、服务端开发Node.js、桌......
  • 《物联网安全漏洞挖掘实战》读书笔记
    硬件UART通用异步收发器,有VCC,GND,Rx,Tx4个引脚,其中Rx负责接收数据,Tx负责发送数据,电压为0的是GND引脚,VCC引脚电压一般为3.3或3.5V.JTAG联合测试工作组文件系统Squas......
  • 算法学习笔记(9): 中国剩余定理(CRT)以及其扩展(EXCRT)
    扩展中国剩余定理讲解扩展之前,我们先叙述一下普通的中国剩余定理中国剩余定理中国剩余定理通过一种非常精巧的构造求出了一个可行解但是毕竟是构造,所以相对较复杂\[......
  • 李沐老师《动手学深度学习》(PyTorch版)学习笔记:第69-70课 微调
    【李沐老师观点】微调是深度学习,特别是计算机视觉来说,最重要的一种技术。整个深度学习为什么正常WORD?是因为微调的存在。所谓“微调”也称为“TransferLearning”,即迁移学......
  • JavaScript学习笔记—全局和局部作用域
    作用域(scope)指的是一个变量的可见区域全局作用域在网页运行时创建,在网页关闭时消耗所有直接编写到script标签中的代码都位于全局作用域中变量是全局变量,可以在任意......
  • JavaScript学习笔记—函数
    1.语法function函数名(){语句......}2.定义和调用函数-语法:函数名()使用typeof检查函数对象时返回function定义方式(1)函数声明(2)函数表达式(3)箭头函数//......
  • Ansible 学习笔记 - 定位主机和组的模式
    中英文对照表英文 中文 备注host 主机 group (主机)组 pattern 模式 adhoc 特别命令 playbook 剧本 Ansible专有名词,一段复杂的编排inventory 库存 Ansible专有......
  • linux学习笔记
    如何创建ubanto网上的教程已经很多了我使用virtualbox自己创建了一个虚拟机中文包安装遇到了语言问题,安装的时候默认语言没有中文找到了一个中文语言包教程......
  • MC群组服开服教程系列八: 版本兼容插件
    版本兼容我们服务端是1.19.3的版本,目前只能是客户端是1.19.3的版本才能链接到我们的服务器,我们需要支持1.19.3版本以下的客户端能联机的我们服务端,另外后面mojang后面更新......