Chromium Embedded Framework html
顾名思义,内嵌式CHROME,详细的介绍参阅 程序员
http://yogurtcat.com/posts/cef/hello-cef.html chrome
为何要考虑选择CEF 浏览器
一、 目前市场上浏览器种类不少,每种的版本也不少,即便咱们使用了成熟的UI框架也不能保证每一个JS在每种浏览器上都成兼容,程序员也不可能在各类浏览器上调试后再发布 框架
二、 一卡通涉及本地硬件资源操纵(如串口、USB、局域网、UKey),传统方法是制做ActiveX控件,让控件与JS进行交互,这种方法比较脆弱,且安装麻烦,最关键:通常只在IE上正常工做,多数浏览器不能稳定支持ActiveX 异步
参阅: 函数
http://mozilla.com.cn/post/35931/ post
http://activex-for-chrome.softonic.cn/ 性能
CEF在一卡通上如何应用 测试
一、 不须要操纵本地硬件资源的操做员(如增删改查数据、查看报表),能够继续直接使用浏览器访问平台(仍然可能存在兼容性问题)
二、 经过发布安装包,以WINFORM的方式在本地运行程序,固定使用某个版本的CEF,至关于固定使用了某个版本的浏览器,规避兼容性问题。即在一个CS程序中嵌入了浏览器,但平台仍然是以BS为主。
三、 须要操纵本地硬件资源时,由JS经过HTTP向WINFORM(开有HTTP监听)传递消息,执行相关功能,即将原来ActiveX的功能迁移到winform中,规避浏览器兼容ActiveX问题以及解决ActiveX执行不稳定(以及性能低下)的问题
四、 使用VS2013提供的net native功能,将winform程序本地化,提高执行效率,保护软件不轻易被破解。
案例
一卡易就使用了相似的技术
DEMO
提供一个网页,内置2个函数,一个供C#调用,一个经过HTTP调用C#
在CEF程序中打开这个网页,执行相关功能,以下图:
l 点击网页中的第一个按钮
l 点击WINFORM中的TOOL菜单 中的测试菜单
点击页面中的第三个按钮,经过AJAX异步HTTP访问WINFORM
(目前CEF3还不支持直接回调WINFORM,早期的CEF1支持,未来也应该会支持,可是回调不如HTTP访问灵活)