一个实现浏览器网页与本地程序之间进行双向调用的轻量级、强兼容、可扩展的插件开发平台—PluginOK中间件
通过PluginOK中间件插件平台(原名本网通WebRunLocal)可实现在网页中的JavaScript脚本无障碍访问本地电脑的硬件、调用本地系统的API及相关组件,同时可彻底解决ActiveX组件在Chrome、FireFox、Opera、Edge、Safari等浏览器各版本的兼容使用问题。
系统兼容性:
1、全面兼容Windows XP、Vista、7、8、10等各版本桌面系统;
2、全面兼容Windows Server 2003、2008、2012、2016等各版本服务器系统;
3、Linux、Mac、安卓等系统理论上也是可行的,欢迎熟悉这些平台伙伴的积极参与。
浏览器兼容性:
1、IE 8及以上版本;
2、Chrome 16及以上版本;
3、FireFox 11及以上版本;
4、Safari 7及以上版本;
5、Opera 12.1及以上版本;
6、Edge 12及以上版本。
在IE中实现网页和本地系统双向调用的方法是使用ActiveX控件技术,而在Chrome、FireFox等浏览器有类似的NPAPI插件技术。因为安全隐患及稳定性等问题,微软新生代浏览器Edge不再支持ActiveX控件,目前主流的Chrome浏览器也从42版开始NPAPI插件被抛弃,导致原来很多依赖这些技术实现的业务无法在新版浏览器中继续使用。
目前浏览器网页与本地程序之间双向调用的知名解决方案有以下两个:
1、firebreath,核心实现采用的是ActiveX控件和NPAPI插件技术,已面临新版浏览器不能全面兼容使用的问题;
2、Node.js,是一个基于Chrome V8引擎的 JavaScript 运行环境,其中FFI模块可实现在JavaScript中调用本地C语言风格的动态链接库。运行及部署依赖Python和npm,另外需要区别处理32位和64位的程序调用,尤其是不能支持ActiveX控件等面向对象的组件调用。
使用PluginOK中间件的理由:
1、轻量级:PluginOK中间件整个程序包很小,不依赖其它第三方程序即可使用;
2、强兼容性:PluginOK中间件采用HTML5标准中的Web Socket技术,可确保在各个浏览器版本的兼容使用;
3、PluginOK中间件在Windows平台采用COM组件技术为上层插件开发提供友好的集成支持,支持大多数的开发语言;
4、可配置和灵活的程序分发支持,方便基于本网通的第三方集成到自己的业务系统中。
使用场景举例:
1、网页中需要和本地电脑的硬件进行交互,比如B/S架构的OA系统中操作本地打印机;
2、网页中需要调用本地程序的ActiveX控件实现一些特殊服务,比如Office文档的在线预览和编辑;
3、一些软件系统使用了第三方的DLL模块,可通过PluginOK中间件实现在B/S架构中的系统中调用;
4、网银、在线支付等安全性要求高的网站,可基于PluginOK中间件开发访问U盾等的加密模块提供访问安全性;
5、开发去中心化的分布式系统应用,如充分利用分散的系统计算能力。
项目地址:https://github.com/wangzuohuai/WebRunLocal QQ交流群:https://jq.qq.com/?_wv=1027&k=5FxgskL
一个实现浏览器网页与本地程序之间进行双向调用的轻量级、强兼容、可扩展的插件开发平台—PluginOK中间件的更多相关文章
- 通过私有协议Chrome浏览器页面打开本地程序
近期方有这样的要求:这两个系统,根据一组Chrome开展,根据一组IE开展,需要Chrome添加一个链接,然后进入IE该系统的开发.这,需要Chrome跳转到创建一个链接IE浏览器指定的页面.同时也实 ...
- C 程序与 C++ 程序之间的相互调用
因为 C 编译器编译函数时不带参数的类型信息,只包含函数的符号名字.如 void foo( int x ) , C 编译器会将此函数编译成类似 _foo 的符号,C 链接器只要找到了调用函数的符号,就 ...
- DSAPI 网页获取本地程序登陆用户
这是一个非常简单的示例,在网页或其他平台获取程序中已经登陆的用户,当然也可以是其他信息. 源码 Imports DSAPI.网络.HTTP监听_DSWebAPI Public Class Form1 ...
- Chrome Native Messaging 与本地程序之间的通信
最近项目上出现了web打印不稳定的问题,师父决定web调用本地打印程序,在查阅了相关资料和加了几个相关群咨询后得知新版的chrome不支持NNAPI了,最好用Native Messaging来处理,经 ...
- sap 程序之间的相互调用
1:首先进入到local object 目录下. 右键>create >function group,创建一个函数组. 右键创建类其它的东西 2:在创建的function group(fu ...
- PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购
PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...
- C#注册URL协议,使用浏览器打开本地程序,类似网页上点了QQ交谈打开本地QQ客户端程序
本教程适用于Windows系统 从浏览器上打开本地程序,主要用到了本地URL协议,其实主要就是改注册表 先建立一个项目,我建的是控制台项目 在Program.cs写2个静态方法用来添加注册表.移除注册 ...
- JAVA和C/C++之间的相互调用。
在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现JAVA和C/C++之间的相互调用. Java Native Interface (JNI)标准是java平台的一部分 ...
- [置顶] Ajax程序:处理异步调用中的异常(使用Asp.Net Ajax内建的异常处理方法)
无论在Window应用程序,还是Web应用程序以对用户友好的方式显示运行时的异常都是很有必要,尤其对于可能有很多不确定因素导致异常的Web应用程序;在传统的Web开发中,处理异常的方式——设计专门一个 ...
随机推荐
- 理解 ASP.NET Core: 验证
ASP.NET Core 验证 通常在应用程序中,安全分为前后两个步骤:验证和授权.验证负责检查当前请求者的身份,而授权则根据上一步得到的身份决定当前请求者是否能够访问期望的资源. 既然安全从验证开始 ...
- C# Random类的正确应用
Random类介绍 Random类一个用于产生伪随机数字的类.这里的伪随机表示有随机性但是可以基于算法模拟出随机规律. Random类的构造方式有两种. Random r= new Random(). ...
- 思维导图iMindMap怎么做大型项目管理
在大型企业中,有许多大型而复杂的项目,你要考虑内外部因素.期限以及你要达成的目标等等,所以我们要进行项目管理.下面小编教你怎么用iMindMap思维导图进行项目管理. iMindMap有一个工作区,以 ...
- zabbix 监控域名证书到期时间!!!!
在客户端机器上创建脚本 vim /etc/zabbix/zabbix_agentd.d/check-cert-expire.sh #!/bin/sh host=$1port=$2end_date=`o ...
- python批量生成SQL语句
1,首先写一条能运行成功插入SQL的语句 INSERT INTO sign_guest(realname,phone,email,sign,event_id)VALUES("jack&quo ...
- C++高级程序员进阶之路
一.自学成为高级程序员推荐看的书: 1.c语言基础 <c primer Plus>.<c和指针>.<C专家编程> 2.C++语言基础 <C++ Primer& ...
- 深入浅出之mysql索引--上
当着小萌新之际,最近工作中遇到了mysql优化的相关问题,然后既然提到了优化,很多像我这样的小萌新不容置喙,肯定张口就是 建立索引 之类的. 那么说到底,索引到底是什么,它是怎么工作的?接下来就让我和 ...
- 不使用 MQ 如何实现 pub/sub 场景?
hello,大家好,我是小黑,又和大家见面啦~~ 在配置中心中,有一个经典的 pub/sub 场景:某个配置项发生变更之后,需要实时的同步到各个服务端节点,同时推送给客户端集群. 在之前实现的简易版配 ...
- mfc 笔记
在类成员初始化时,使用另一个成员变量,必须满足,在.h声明时在另一个变量之后,初始 .hprivate: //K线图位置 CPoint m_KPoint; //十字光标位置 CPoint m_trac ...
- 推荐系统实践 0x0a 冷启动问题
什么是冷启动问题 如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题.冷启动问题主要分为三类: 用户冷启动 物品冷启动 系统冷启动 下面我们将 ...