BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Kevin Ball 关注 3 他的粉丝 ,译者 薛命灯 关注 24 他的粉丝 发布于 2017年12月22日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

最新发布的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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT