最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习。就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传。君要臣死,臣不能不死。更何况,他们没有让我们死,仅仅是我们去完成一个任务。回来之后,我们的头——郑浩,把这个任务交给了我,顺便给我带回来了一台型号为 S500A3B 的良田牌高拍仪。让我既欣喜,又癫狂。

——————————背景

嗯嗯,上边分给了任务,我们该努力了。首先,我跟良田客服取得联系,向他们索要了关于良田高拍仪的应用程序包和二次开发接口。下面就轮到我来分享了。

在起初,通过上网查资料,我们确定了两种实施方案。分别是:

一:通过调用本地程序来实现

二:把程序集成到我们的项目里面,实现直接调用。

经过讨论,我们采取了第一种方法,因为良田高拍仪的驱动应用程序有点大,大约有1个G,比我们的材料还要大很多,不太方便。其次就是我们发布后,客户端本地没有相关软硬件支持,也难以控制。再就是可能有的客户不需要这个东西,硬性绑定不太灵活。

针对第一种方法,我们有两种思路。

一:固定软件安装地址,写死调用路径

二:通过vbs,实现通过注册表查找软件安装路径,实现调用。

本次,就分享一下实现固定调用的方法,因为实现这个比较简单:

首先,在前台,我们做一个按钮:

<span style="font-size:18px;">            <input type="button" value="拍摄照片" onFocus='this.blur()' title=" 拍摄照片 "  style="margin-right:20px;  width:149px; height:47px;background-color:rgb(145,203,45);font-size:20px;color:white;border:0px;text-align:center;" " href=# onclick="javascript:Run('file://F:/项目资料/某某文件/EloamNewV5.0/eloamSample.exe','File') "/></span>

然后在用js实现真正的调用:

//调用高拍仪设备
function Run(strPath) {
var objShell = new ActiveXObject("wscript.shell"); objShell.Run(strPath);
//关闭进程
objShell = null;
} </script>

就这么简单,但是,由于在期间我们用到了active控件,所以,暂时只在IE上面兼容,在别的浏览器上还没有实现,肯定还有别的方法。这也值得我们继续努力学习。在接下来就是我的成果了:

组长的面容没有拍上,就先看下我们组长的良好身材吧!

总结:

这是我第一次跟项目,学到了很多,我们头也教会了我很多。做项目,技术很重要,但是思想和想法同样重要。我们不能仅仅因为自己是新人就畏首畏尾,我们应该积极向牛人们学习。郑浩和志婷教会我很多。包括思想和技术。我会继续努力的!

【Web前端】---js调用本地应用程序的更多相关文章

  1. PC网页js调用本地应用程序

    最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能 其实实现原理也非常简单, 首先注册一个本地注册表文件,指向本地应用程序路径 其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应 ...

  2. JS调用本地应用程序

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  3. js调用本地程序

    前几天,做项目时候用到js调用本地的程序,找了好多资料,一种是写入注册表,一种是写一个浏览器插件,相对来说,写一个注册表更简单一点,因为需求很紧.下面就是我的总结,希望可以对你们有所帮助,具体从哪里找 ...

  4. 使用JS启动本地应用程序、屏幕键盘

    问题描述:     现在希望在Web端使用JS调用本地应用程序 问题解决:   (1)使用JS启动本地应用程序 使用上述代码重点是创建了一个ActiveXObject的对象     参考说明:     ...

  5. js网页中调用本地应用程序

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Con ...

  6. ubuntu下浏览器调用本地应用程序

    ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样. 首先是desktop文件,里面需要加入 ...

  7. html网页调用本地exe程序的实现方法:

    html网页调用本地exe程序的实现方法:1.新建注册表具体文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\hhtpexe] [ ...

  8. web前端js过滤敏感词

    web前端js过滤敏感词 这里是用文本输入框还有文本域绑定了失去焦点事件,然后再遍历敏感词数组进行匹配和替换. var keywords=["阿扁","呵呵", ...

  9. WEB前端JS与UI框架

    前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人 ...

随机推荐

  1. html表单样式, table隔行高亮, 长字符串自动换行

    2016年1月14日 11:16:54 星期四 效果图: html: <!DOCTYPE html> <html lang="en"> <head&g ...

  2. 4.nodejs权威指南--TCP和UDP

    1. TCP和UDP 1.1 TCP服务端 var net = require('net'); var server = net.createServer(); server.on('connecti ...

  3. 23. javacript高级程序设计-数据存储

    1. 数据存储 1.1 cookie HTTP Cookie, cookie,最初用来在客户端存储回话信息. (1). 限制,不同浏览器对特定域名下的cookie 的个数有限制,每个域名下最好不要操过 ...

  4. java获取本月或某月的第一天和最后一天

    获取某月的第一天和最后一天的日期 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Ca ...

  5. poj 2389.Bull Math 解题报告

    题目链接:http://poj.org/problem?id=2389 题目意思:就是大整数乘法. 题目中说每个整数不超过 40 位,是错的!!!要开大点,这里我开到100. 其实大整数乘法还是第一次 ...

  6. HDU 5831 Rikka with Parenthesis II (贪心) -2016杭电多校联合第8场

    题目:传送门. 题意:T组数据,每组给定一个长度n,随后给定一个长度为n的字符串,字符串只包含'('或')',随后交换其中两个位置,必须交换一次也只能交换一次,问能否构成一个合法的括号匹配,就是()( ...

  7. LightOJ 1197 Help Hanzo(区间素数筛选)

    E - Help Hanzo Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit ...

  8. IOS - 本地消息推送

    第一步:创建本地推送 // 创建一个本地推送 UILocalNotification *notification = [[[UILocalNotification alloc] init] autor ...

  9. mongoDB 3.0以前版本 - 入门指南、示例

    一.准备工作 1. 下载mongoDB 下载地址:http://www.mongodb.org/downloads 选择合适你的版本 相关文档:http://www.mongodb.org/displ ...

  10. iOS - 定制多样式二维码

    二维码/条形码是按照某种特定的几何图形按一定规律在平台(一维/二维方向上)分布的黑白相间的图形纪录符号信息.使用若干个与二进制对应的几何形体来表示文字数值信息.   最常见的二维码功能包括信息获取.网 ...