【Web前端】---js调用本地应用程序
最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习。就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传。君要臣死,臣不能不死。更何况,他们没有让我们死,仅仅是我们去完成一个任务。回来之后,我们的头——郑浩,把这个任务交给了我,顺便给我带回来了一台型号为 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调用本地应用程序的更多相关文章
- PC网页js调用本地应用程序
最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能 其实实现原理也非常简单, 首先注册一个本地注册表文件,指向本地应用程序路径 其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应 ...
- JS调用本地应用程序
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- js调用本地程序
前几天,做项目时候用到js调用本地的程序,找了好多资料,一种是写入注册表,一种是写一个浏览器插件,相对来说,写一个注册表更简单一点,因为需求很紧.下面就是我的总结,希望可以对你们有所帮助,具体从哪里找 ...
- 使用JS启动本地应用程序、屏幕键盘
问题描述: 现在希望在Web端使用JS调用本地应用程序 问题解决: (1)使用JS启动本地应用程序 使用上述代码重点是创建了一个ActiveXObject的对象 参考说明: ...
- js网页中调用本地应用程序
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Con ...
- ubuntu下浏览器调用本地应用程序
ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样. 首先是desktop文件,里面需要加入 ...
- html网页调用本地exe程序的实现方法:
html网页调用本地exe程序的实现方法:1.新建注册表具体文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\hhtpexe] [ ...
- web前端js过滤敏感词
web前端js过滤敏感词 这里是用文本输入框还有文本域绑定了失去焦点事件,然后再遍历敏感词数组进行匹配和替换. var keywords=["阿扁","呵呵", ...
- WEB前端JS与UI框架
前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人 ...
随机推荐
- 如何将ADT项目导入Android studio及常見問題
ADT导出Android studio项目 右键-->ExportAndroid/Generate Gradle build files--> Android studio导入项目 Fil ...
- ThinkPHP增加数据库字段后插入数据为空的解决办法
今天用ThinkPHP做了一个简单的商品发布系统,数据库本来只有四个字段id,name,url,image.id是主键,name是商品名称,url是商品链接,image是商品图片,做的差不多了,发现还 ...
- Delphi中限制文本框(TEdit)只能输入数字
procedure Tform1.Edit1KeyPress(Sender: TObject; var Key: Char);var edt: TEdit; str, strL, strR: stri ...
- 1.nodejs权威指南--基础知识
1. 基础知识 1.1 全局作用域及函数 1.1.1 全局作用域 在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量.函数或对象都是该对象的一个属性值 1.1 ...
- JS 判断图片尺寸大小,以便页面resize时,动态调整页面元素位置
){ clearInterval(global_timename4pool); } } //由于无法判断图片显示完整的时机,只好用定时器来做,计算完成后再关掉定时器. global_timename4 ...
- WebService及WCF获取客户端IP,端口
wcf获取客户端IP,端口 var context = OperationContext.Current; var properties = context.IncomingMessageProper ...
- JavaScript实现字符串的contains函数
JavaScript实现字符串的contains函数 / * * string:原始字符串 * substr:子字符串 * isIgnoreCase:忽略大小写 * / function co ...
- mybatis参数错误 Parameter '×××' not found. Available parameters are [0, 1, param1, param2]
报错的代码 @Update("update staff_info set ApplyState = #{applyState} where Id = #{userId}") int ...
- ios调用c#后台接口报文格式
- NSString *soapMessage = - [NSString stringWithFormat: - @"<?xml version=\"1.0\" ...
- MAC系统下,删除.svn文件
MAC系统下,.svn文件是隐藏的. 如果项目是非export导出的,那么项目中会有很多的.svn文件. 如果项目的体积非常庞大,我们如何快速的批量删除.svn文件呢?下面是操作方法: 打开终端,cd ...