升级黄花机场触摸屏程序的一些技术概要
作者:admin 日期:2016-09-05此次我帮老朋友做个小项目,升级黄花机场触摸屏软件(长沙的兄弟以后有机会可以到机场大厅试用)。
应大家要求放个图:
老程序的实现方式,是HTML+FLASH+一个exe应用程序调用IE浏览器。分工是,activeX生成EXE程序,调用IE浏览器实现全屏。所有HTML文件都部署在本机,由FLASH来实现一些复杂交互,比如“大厅地图的放大缩小与拖动”。这个方案的不便之处显而易见:
1、必须使用一个加壳的exe程序,依赖IE6浏览器。
2、FLASH没有源文件提供无法升级。
因此,此次升级,准备采用以下方式:
1、在网上查到,chrome可以使用快捷方式直接全屏启动,这样写:
- "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk http://localhost:88/index.html
此快捷方式要自动打开index.html,必须使用虚拟站点--kiosk这种方式简直就是为触摸屏量身定制的,已经屏蔽了右键!甚至光用鼠标都无法关闭,只能用键盘方式才能切出来。
2、用HTML5+CSS3+JS方式完全替代FLASH。采用强大的d3.js内核实现地图功能,具体方式我在另一篇文章中有演示。
3、kiosk全屏方式只支持虚拟站点(比如localhost),我还必须在本机架设一个虚拟站点。我用node.js小程序实现了,不使用重量级的iis--当然,在这种单纯环境下,两者区别不大。
另外,强大的node.js可以提供直接调用chrome启动的功能,写法如下:
- // 调用chrome全屏方式
- var childProcess = require('child_process');
- childProcess.exec('start chrome --kiosk http://localhost:'+PORT+'/index.html');
原来实现全部功能,需要点击2次,一次打开node.js的虚拟站点支持,一次打开chrome全屏方式,有了上面这个调用方式,只需要一次点击,就能完成全过程。我把这一次点击做成了一个windows的bat文件,并且采用开机自启动。
这样,每次一开机,就自动进入到chrome全屏状态,并且切换到index.html页面!全自动化!
chrome全屏启动方式参考:http://www.cnblogs.com/abel/p/3235839.html