最近做一个前端的项目,项目需要引用VLC浏览器插件,javascript在IE、Firefox等浏览器上都没有问题,唯独在Chrome(谷歌)浏览器中插件不能被会支持。
不断更换Chrome版本后发现了问题。只有41版本以前才支持VLC插件。后来查阅资料发现,这是NPAPI和PPAPI的问题。
简单的说,NPAPI(Netscape Plugin API)插件接口最早是专为Netscape浏览器开发的,后来成为其它浏览器共同支持的插件标准、像平时看到的什么阿里旺旺、百度云下载的那种悬浮窗也是根据NPAPI开发的。相对于NPAPI,PPAPI就是Chrome要支持的新的标准。
为什么要换API?他们是这么说的:(NPAPI)存在性能、挂起、复杂性和安全等方面的问题,另外不支持移动设备也是淘汰它的主要原因。
另一个坏消息:
Mozilla已经计划从今年12月起就停止对NPAPI插件的支持。Mozilla产品管理总监Chad Weiner说,一个强大而开放的Web应该不需要任何特殊用途的插件就能在任何地方运行。那就意味着在2015年12月之后,火狐等浏览器也不能支持NPAPI插件了。当然目前还有什么加入白名单之类的办法可以勉强使用。
下面说一下,chrome浏览器支持VLC的过程(其他NPAPI插件类似):
一、查看浏览器版本
浏览器“帮助和简介”->“关于”中查看。
二、根据不同版本按下面步骤操作
41以前版本的Chrome:
直接在地址栏chrome://plugins/找到相应的插件,勾上“总是允许”重启浏览器即可。
42-45版本的Chrome:
地址栏输入:chrome://flags/,如下图,点击“启用”NPAPI插件。
然后在地址栏输入:chrome://plugins/找到相应的插件,勾上“总是允许”重启浏览器即可。
当然重启之后他任然会弹出一个幸灾乐祸的温馨提示:“此插件很快就不支持了”。但并不影响使用。
46-以后版本的Chrome:
换浏览器版本吧,在2015年9月之后,他们只支持PPAPI。
首先卸载Chrome,打开控制面板->卸载,
然后选中“同时删除您的浏览数据”(低版本的Chrome不能读取高版本的数据格式,所以一定要选中),点击 卸载,再安装低版本的Chrome即可。
三、当然也还有一个临时的办法,如果不卸载46版本,可以下载Chrome的绿色版。
下载地址:http://www.portablesoft.org/google-chrome-legacy-versions/,到文件夹后直接点击可执行文件。重复上述配置即可。
参考网址:
http://www.oschina.net/news/49375/firefox-plan-to-stop-npapi-plugins
http://www.linuxidc.com/Linux/2015-04/116342.htm
http://www.cnbeta.com/articles/253889.htm
http://bbs.kafan.cn/thread-1631975-1-1.html