Mozilla最近宣布要在2016年结束之前停止Firefox中的NPAPI支持,Flash是唯一的得到继续支持的插件。
NPAPI(Netscape Plugin API,网景插件API)是一项有着20年历史背景的技术,Google对其进行了一番 批判 ,认为它是“导致浏览器挂起、崩溃,引发众多安全事件以及增加代码复杂度的罪魁祸首。”Google在决定 自2015年起不再在Chrome中支持这一技术 ,微软同样也宣布他们最新的浏览器 Edge将不再支持ActiveX插件 ,迫使开发者用web API开发新的解决方案。
Mozilla马上进行了跟进,宣布将在2016年底以前逐步淘汰Firefox中对于NPAPI的支持,给开发者预留了很长一段时间来移植他们的插件。Mozilla的Firefox质量工程团队管理者Benjamin Smedberg在一篇 博客文章 中说道:“事实上,对于Web用户而言,插件已经变成一个性能问题、崩溃以及安全事件的源头,在2016年底前,网站的维护者应该准备在所有Firefox的版本中停止使用插件。”他认为目前大部分以前只能通过插件实现的功能现在已经在浏览器中集成了,所以大可在当前这个时点宣布在未来抛弃古老的插件技术。他同时也提到,即将到来的64位Windows版Firefox将不再支持插件。
当然Flash是个例外,由于“对于大多数用户来说,Flash仍然是Web体验的一个通用部分”,所以Mozilla决定继续支持Flash。但是Unity、Java、Silverlight、Adobe Acrobat这些插件则必须要离开浏览器的舞台。 一些开发者抱怨说 他们的产品需要访问原生的API,Smedberg推荐的解决方案是:要么编写一个纯原生的应用,然后将插件重编译为 asm.js 或Webassembly;要么使用新版本Firefox浏览器中可用的web API重写这些功能。他又提到说,Mozilla将继续“优先考虑实现有助于网站摆脱插件的那些特性。”
目前只有Safari尚未针对NPAPI进行任何表态,尤其是现在Mozilla已经决定停止支持这一特性,Apple在未来很可能将其从Safari中移除。