【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的消息,也是振奋人 ...
随机推荐
- ios 使用autolayout 后button 的frame 无法设置问题!
问题见这里,只能通过bounds和center进行设置!http://www.cocoachina.com/bbs/read.php?tid-236862.html 待研究!!!!~~~
- 23. javacript高级程序设计-数据存储
1. 数据存储 1.1 cookie HTTP Cookie, cookie,最初用来在客户端存储回话信息. (1). 限制,不同浏览器对特定域名下的cookie 的个数有限制,每个域名下最好不要操过 ...
- glib-2.49.4-msys-x86-staticLib.7z
glib-2.49.4 MSYS 静态库 编译 export LIBFFI_CFLAGS=" -I/usr/local/lib/libffi-3.2.1/include " \ e ...
- 如何让ListView的item不可点击
原文链接:http://blog.csdn.net/zhangfei_jiayou/article/details/6972752 1. 如果是listView的id是使用系统默认的id,如下, 则可 ...
- 【leetcode】Happy Number(easy)
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
- 【python】入门学习(八)
异常处理: python在遇到问题时会自动引发异常,也可以用raise故意引发异常,异常种类必须是已有的 >>> raise IOError('This is a test.') T ...
- 【XLL 框架库函数】 debugPrintf
通过调用 Windows SDK 函数 OutputDebugStringA 在激活的调试器中输出字符串信息.如果应用程序没有调试器,那么系统调试器就会显示字符串.如果这两种调试器都没使用的话,deb ...
- library not found for -lAFNetworking
错误内容如图所示: error:linker command failed with exit code 1(use -v to see invocation) 首先报这个错的情况有很多,所以需要看e ...
- supersr--addSubview和 insertSubView 区别
A addSubview B 是将B直接覆盖在A的最上层 例子: [self.view addSubview:scrollView]; A insertSubView B AtIndex:2 是将 ...
- centOS填坑笔记(一)
第一次使用centOS安装软件时,对二进制包的./configure进行配置时(./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,)报错:WARNING: failed ...