编写一个桌面应用,并在其中添加一个webview控件,就可以模拟成一个简化版的浏览器环境,然后通过js来实现双方的通信。 这种方式实现起来很方便,各种开发语言中都有webview控件,同时还实现了web应用的桌面驻留,使它看起来更像一个桌面应用。
选型
实现web桌面化的技术方案中,目前主流的有以下两种:
- Electron:源于Github,是一个使用JavaScript, HTML和CSS等Web技术创建原生程序的框架,文档比较全面,社区也很活跃,发展到目前已经很成熟了;
- Cef系列:主要是CefSharp,是面向winForm或wpf环境下,对嵌入式Chromium框架的封装,通过C /CLI的方式来调用CEF类库,目前的版本更新很频繁,优点是上手简单,跟Chrome的兼容非常好。
- 屏蔽右键菜单
- 自定义首页
- Form标题跟随Web标题自动更新
- 重写新窗口(target=_blank)
- 重写弹窗(alert/confirm)
- 快捷键:F5刷新页面
- 快捷键:Ctrl F5强制刷新页面
- 快捷键:F11全屏/恢复
- 快捷键:F12打开控制台
- 自定义UserAgent:EDesk/1.0.0
- 增加JS对象注入:EDesk
- 增加JS对象自动绑定函数:EDeskReady
- 摄像头操作API
下一步计划实现身份证阅读器的操作API,便于在web中实现对身份证的读取、检测以及读取身份证照片的功能