最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习。就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传。君要臣死,臣不能不死。更何况,他们没有让我们死,仅仅是我们去完成一个任务。回来之后,我们的头——郑浩,把这个任务交给了我,顺便给我带回来了一台型号为 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. ListView异步加载图片,完美实现图文混排

    昨天参加一个面试,面试官让当场写一个类似于新闻列表的页面,文本数据和图片都从网络上获取,想起我还没写过ListView异步加载图片并实现图文混排效果的文章,so,今天就来写一下,介绍一下经验. Lis ...

  2. 【leetcode】Regular Expression Matching (hard) ★

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  3. 【ACM】hud1166 敌兵布阵(线段树)

    经验: cout 特别慢 如果要求速度 全部用 printf !!! 在学习线段树 内容来自:http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/24 ...

  4. java实现批量上传(swfupload)

    下载 swfupload 文件夹 里面包含handlers.js,swfupload.js,swfupload.swf 三个文件. 我的是和ssh项目整合在一起的.因为struts2的拦截器会拦截所有 ...

  5. Delphi 2010 Can't load package C:\Programme\Afalinasoft\Add-in Express 2\d5units\adxwizardd5.bpl.

    "Can't load package C:\Programme\Afalinasoft\Add-in Express 2\d5units\adxwizardd5.bpl. Componen ...

  6. 使用 ODBC .NET 提供程序和 Visual C# .NET 执行 SQL 参数化存储过程

    http://support2.microsoft.com/kb/310130/zh-cn 此分步指导文章描述如何使用 ODBC .NET 托管提供程序和 Visual C# .Net 调用参数化 S ...

  7. weblogic无需用户名密码启动Server

    创建了Server-0. 但每次启动需要手工输入管理账户和密码. 并不方便. 现在要让它自动输入并启动.一. 新建security文件夹 # cd $WEBLOGIC_HOME/servers/Ser ...

  8. chaper3_exerise_Uva1368_DNA序列

    #include<iostream> #include<stdio.h> #include<cmath> #include<string> #inclu ...

  9. 实现iOS前台时的推送弹窗效果

    原文链接 或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行的情况下,推送的顶部弹窗是不会弹出来的. 然而就是有很多**的产品经理都会提出类似这样的**需求:那就是在 Ap ...

  10. Navicat 回复 psc 文件 Mysql

    在mysql 中回复 psc文件 的时候 只能一步步来,先在navicat中建一个空数据库,然后点击有上角的备份==>回复备份==> 找到psc文件==> 注意此时不要急于点击 开始 ...