Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MozillaPlugins\@niuniu.com/npcaptrue]
"Path"="c:\\testcapture\\npcapture.dll"
2.FireFox浏览器也在陆续减少对NPAPI的支持,目前已经在限制NPAPI插件,默认将插件设置成了禁用状态,需要手动开启;于2016年底,FireFox将彻底放弃对NPAPI的支持,到那个时候,我们就只能做FireFox下的扩展了。
现在也是时候开始学习FireFox扩展的开发方式了。
三:以Chrome为内核的各种第三方浏览器
如360、搜狗、百度、UC以及Safari等等均属于此类,之所以把这些归为一类,是因为他们都支持NPAPI形式的插件,并且目前并没有相关的消息显示他们将放弃对NPAPI的支持,在这样的浏览器下,放心的使用NPAPI插件吧。
四:Chrome浏览器
听很多人说最喜欢Chrome浏览器,我不知道他们为什么喜欢,但我想说,我最讨厌的就是Chrome浏览器了,至少在我们目前所处的使用场景下来说,我认为Chrome浏览器是最操蛋的。
1. Chrome对于NPAPI的支持情况
为什么把Chrome浏览器单独列出来呢,是因为Chrome浏览器在不同的版本中,对于控件的支持是不一样的:
- 32版本以前:默认支持NPAPI插件,并且默认开启,方便使用
- 32至41版本:默认支持NPAPI插件,但默认将会是禁用状态,首次使用时将会需要进行开启
- 42至45版本:默认不支持NPAPI插件,如果一定要支持,需要在其设置中心中开启一个设置项[仅供调试用,无实际意义]
- 45版本以后:完全抛弃了NPAPI插件
上面的表述有点碎,总结起来是这样:
在42及以上的Chrome浏览器中,已经不支持NPAPI了,你不能在这样的浏览器上为你的客户提供NPAPI的插件功能。
2. Chrome浏览器上的扩展开发
那么在这样的浏览器上,我们应该怎么样来扩展浏览器的功能呢?
答案就是开发Chrome扩展,你可以通过Chrome扩展来丰富浏览器的功能,开发也比较简单,就是一些js、html文件的组合,再加上一个manifest.json的配置文件。
如果你想在扩展中调用本地的应用程序,那就没这么简单了,还需要使用到Nativemessaging;除了在扩展中配置外,你还需要在本地注册表中指定本地与此扩展匹配的应用程序的相关信息;Chrome扩展将会通过标准输入输出的形式与本地应用互通信息。
当然,你还需要开发本地的应用程序的功能。
3.Chrome扩展的安装
Chrome的扩展应该说是喜欢的人多,恨他的人也多,他确实降低了开发浏览器扩展功能的难度,但由于扩展并不提供静默安装的方式,极大的提高了使用的门槛,降低了易用性:
1). 按Chrome的要求,Chrome的扩展只能从其扩展商店中下载安装
2). 如果不是来源于及扩展商店,默认将不能被安装;这时候你需要下载到本地,打开Chrome://extensions页面,然后将扩展文件拖到扩展页面上进行安装
Chrome的上述限制,导致我们很多使用者并不知道如何安装,当然也就没法使用扩展的功能了,那我们有没有办法自动的为客户安装上呢?
虽然并不完美,但还是有自动安装的方案的,下面我们就来介绍一下:
1). QQ邮箱的截图扩展的强制安装方式
之所以说是强制安装方式,是因为QQ邮箱的截图扩展并不是静默安装的;QQ邮箱团队破解了Chrome扩展的加密方式[或者说Chrome的源码中就有]; 在强制关闭Chrome浏览器后,将扩展相关的文件复制到扩展安装目录下,并且更新了Chrome的扩展列表。
这种方式是目前最好的最傻瓜式的安装方式,唯一的缺点就是会强制杀掉Chrome的进程,这导致在一些应用场景下,这种方式并不实用。
有兴趣的话,你可以通过Chrome登录QQ邮箱,在写信页面点击截图试一下就知道了。
2). 牛牛截图扩展的自动安装方式
牛牛截图采用了一种模拟人为安装的形式,他会自动打开Chrome浏览器,自动进入扩展安装界面,自动将扩展拖到安装窗口,完成安装;如果自动安装失败,则提示用户手动拖放来安装。
这种安装方式的好处是不用重启Chrome浏览器,安装后即可使用;坏处就是涉及的流程较多,可靠性不如QQ的强制安装好。
有兴趣的话,你可以通过Chrome进入 http://www.ggniu.cn/testcapture.html 试一下。
五:Edge浏览器
在Windows10中,一款新的浏览器诞生了,但可悲的是,它目前还不支持任何形式的控件。未来将会支持类似于Chrome扩展的形式,希望微软能提供静默安装方式吧。
浏览器厂商抛弃NPAPI的名义是其技术太老,速度太慢,且不够安全;我觉得最主要还是利益,浏览器厂商们想控制扩展的安装入口。
其实放弃NPAPI正常,但选用新技术模式的时候,是否也应该更多的考虑一下易用性呢?如果浏览器扩展能够支持静默安装的方式,不是更好么?
本文简要整理了在不同浏览器下需要用到的不同技术,以及不同的注意事项,与同受浏览器乱象之苦的人士共勉!
您可以前往 下载页面 去下载示例。
更多信息,请访问 http://www.ggniu.cn/