当前位置: 首页 > news >正文

Firefox Quantum支持跨浏览器插件架构

最新发布的Firefox 57 “Quantum”加入到Chrome和Edge的行列,现在只支持基于WebExtensions API的扩展插件,也就是基于跨浏览器的扩展架构,使用纯HTML、CSS和JavaScript来开发。基于旧架构的Firefox插件不能在Quantum上使用。

\\

WebExtensions API是由Mozilla根据W3C浏览器插件社区工作组提出的建议而开发的,现在Chrome、Firefox和Edge使用了相同的架构,Web开发者开发的插件只需要做少量修改就可以跨浏览器运行。开发者可以在MDM上查看更多相关文档。

\\

Firefox从1.0版本开始就支持扩展插件,它们使用Mozilla的XML用户界面语言(XUL)进行开发,可以自由访问Firefox的内部细节。来自How-to Geek的Justin Pot解释了这种方式的优点和不足:

\\
\Firefox插件可以在一定程度上改变浏览器的行为,这也就是它们强大的地方:没有什么东西是它们一定能做或一定不能做的。不过这也是新版Firefox要与它们断绝关系的原因。\
\\

谷歌在2009年发布了Chrome的插件特性,带来了一种新的插件开发模型,可以使用纯HTML、CSS和JavaScript开发插件,并提供了一组完善的JavaScript API让插件可以与浏览器发生交互。

\\

不久之后,Mozilla于2011年7月发布了新的插件SDK,并声称“新SDK让使用JavaScript、HTML和CSS开发Firefox插件变得更容易”。SDK一直朝着这个方向发展,不过仍然允许插件访问Firefox底层的细节。

\\

这种状态持续了好几年,每个浏览器都有自己的插件架构。2015年5月,W3C成立了浏览器插件社区工作组,他们的使命是“尝试对插件的包结构、API和可移植性(如跨浏览器)进行标准化”。

\\

2015年8月,工作组提出的建议很快就变成了新版的Firefox WebExtensions API。2015年11月3日,该API的初始版本出现在了Firefox 42中。微软Edge在2016年8月2日的Windows 10年度更新版本上发布了基于相同架构的插件API。随着Firefox Quantum的发布,旧版的插件API完全被禁用,现在只支持WebExtensions API。

\\

查看英文原文:Firefox Quantum Commits to Cross-Browser Extension Architecture

相关文章:

  • 第 196 章 X Terminal
  • latex-参考文献在子文件夹
  • iOS Core Image 滤镜实践
  • 第 14 章 Network Communication
  • 从Windows迁移SQL Server到Linux
  • fastcgi协议之一:定义
  • 再论 ASP.NET 中获取客户端IP地址
  • 【译】移动应用开发:如何创建自定义Android代码模板
  • eclipse的工程中如何查找字符串
  • pfSense book:当被锁定在WebGUI之外时该怎么做
  • linux系统的7种运行级别
  • 详解Python中的下划线
  • 谈谈Fragment中的onActivityResult
  • angular 2 - 002 - 基本概念和使用
  • CAD常用命令和快捷键的设置方法
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • CSS实用技巧干货
  • Linux快速复制或删除大量小文件
  • Linux下的乱码问题
  • node 版本过低
  • ReactNativeweexDeviceOne对比
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • 今年的LC3大会没了?
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何合理的规划jvm性能调优
  • 微信小程序:实现悬浮返回和分享按钮
  • 转载:[译] 内容加速黑科技趣谈
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​2020 年大前端技术趋势解读
  • $$$$GB2312-80区位编码表$$$$
  • $(selector).each()和$.each()的区别
  • $.ajax()参数及用法
  • (11)MATLAB PCA+SVM 人脸识别
  • (11)MSP430F5529 定时器B
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (学习日记)2024.01.09
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .htaccess配置重写url引擎
  • .NET delegate 委托 、 Event 事件
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net6Api后台+uniapp导出Excel
  • .net程序集学习心得
  • .sh 的运行
  • /proc/vmstat 详解
  • @Autowired 与@Resource的区别
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [100天算法】-目标和(day 79)
  • [20190416]完善shared latch测试脚本2.txt
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总