版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yhld456/article/details/82453588
关于浏览器插件的一些想法
谷歌已经不支持npapi,ppapi暂时只有内置的插件使用,其他插件无法安装,而且别的浏览器也不支持ppapi。微软也在慢慢淘汰ie的activex。所以现在需要一种通用的插件技术,或者类似的解决方案。
html5的绘图功能已经很强大了,所有需要页面展示的功能可以直接使用html5,这也是以后的发展趋势。类似于flash player可能都会淘汰。
一些辅助性的插件类似于截图,翻译等就需要浏览器放开api了。
其他的功能性的插件,比如报表打印、调用本地硬件(本地程序的api)等这些可以采用迂回的方式实现。
具体实现的思路如下:
1、可以引导用户下载插件的安装包。
2、安装包会注册对应的url protocol协议。
3、插件安装包在用户的电脑上安装一个微型的web服务器并使用https方式,开启跨域请求。
4、解析一个域名到127.0.0.1
5、用户访问的时候通过url protocol协议发送一些信息比如端口号到注册的主程序中并存储端口到cookie,主程序收到后启动置顶端口的本地服务器。
6、后续所有需要调用本地api的时候就通过ajax访问解析到127.0.0.1的域名和cookie中存储的端口,本地web服务器接收到ajax请求后调用本地api处理业务。完毕之后返回消息。