CN105094921A - 一种跨浏览器调用外设的方法及装置 - Google Patents
一种跨浏览器调用外设的方法及装置 Download PDFInfo
- Publication number
- CN105094921A CN105094921A CN201510505435.6A CN201510505435A CN105094921A CN 105094921 A CN105094921 A CN 105094921A CN 201510505435 A CN201510505435 A CN 201510505435A CN 105094921 A CN105094921 A CN 105094921A
- Authority
- CN
- China
- Prior art keywords
- peripheral hardware
- browser
- source
- hardware
- cross
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种跨浏览器外设调用的方法,包括步骤:S1:接收B/S系统网站通过HTTP协议发出的外设操作请求;S2:解析所述外设操作请求;S3:操作外设硬件设备,接收外设硬件设备操作结果;S4:操作结果转化为HTTP协议返回B/S系统网站,本发明由于将所有通过浏览器插件对外设的请求转换为基于HTTP协议的数据请求,借助浏览器对HTTP协议的良好支持,完成了B/S系统对外设的友好访问,B/S系统对外设的访问不需要浏览器安装任何插件,外设开发厂商只需要开发一套程序就可以支持所有浏览器,B/S程序的开发者也只用针对一套程序接口来调用外部设备,不需要考虑浏览器的差异。
Description
技术领域
本发明涉及计算机软件领域,更具体的说,涉及一种跨浏览器调用外设的方法及装置。
背景技术
当前越来越多的系统采用了B/S(Browser/Server)系统架构,B/S系统有很多优势,逐渐成为业务系统的主流架构。许多现有老系统也开始考虑从原有的C/S,迁移到B/S架构。但是首先遇到的问题就是如何将原有的条码打印机,扫描仪,条码扫描抢等专业外部设备链接到B/S架构中。
一般的做法是使用浏览器插件来实现浏览器与外设通讯的功能,如IE浏览器的ActiveX插件,就可以来完成这个功能。但是市面上浏览器众多,如果外设厂商需要支持多版本浏览器如(IE,Chrome,FireFox,Opera),就需要制作多个版本的浏览器插件,同时B/S系统也需要根据不同版本的插件进行支持,通过这种方式才可以完成B/S系统与外设通讯的功能。需要为不同的浏览器提供不同版本的插件。
发明内容
本发明所要解决的技术问题是提供一种跨浏览器调用外设的方法。
本发明的一种技术方案:一种跨浏览器外设调用的方法,包括步骤:
S1:接收B/S系统网站通过HTTP协议发出的外设操作请求;
S2:解析所述外设操作请求;
S3:操作外设硬件设备,接收外设硬件设备操作结果;
S4:操作结果转化为HTTP协议返回B/S系统网站。
进一步的,步骤S2还包括:
S201:分解外设操作请求的来源;
S202:判断来源的安全性;
S203:如果来源不受信则返回请求受限;否则来源受信并进入步骤S3。
分解外设操作请求的来源并判断其安全性,提高了外设的安全性。
进一步的,来源的安全性根据来源是否在安全访问列表中判断,如果来源在安全访问列表中则受信,否则不受信。
来源的安全性通过设置安全访问列表的方式实现,用户具体设定哪些网站域名可以去访问外设,那些不能,可以进行更精细的安全设定。
进一步的,所述外设操作请求的头文件里包括来源信息。
来源信息可以方便的简洁的获取,节约了工作流程,提高了工作效率。
进一步的,所述外设操作请求包括取得外设硬件设备状态的状态请求和操作外设硬件设备并返回操作结果的操作请求。
HTTP请求协议,把请求操作分为了两类:一种状态请求,使用HTTP的GET方式请求。另一类使用HTTP的POST方式请求。GET请求表示对状态的取得,只获取状态,不进行操作。POST请求为操作请求,表示对外设的操作,返回操作的结果。简化了工作流程,GET方式仅取得状态,POST请求操作,对外设的操作请求分成两大类,外设对操作请求可以很快完成,不用考虑另外一类操作请求,提高了反应速度,简化了操作。
本发明的另一种技术方案,一种跨浏览器外设调用的装置,包括:
接收模块:接收B/S系统网站通过HTTP协议发出的外设操作请求;
解析模块:解析所述外设操作请求;
操作模块:操作外设硬件设备,接收外设硬件设备操作结果;
返回模块:操作结果转化为HTTP协议返回B/S系统网站。
将所有通过浏览器插件对外设的请求转换为基于HTTP协议的数据请求,借助浏览器对HTTP协议的良好支持,完成了B/S系统对外设的友好访问。B/S系统对外设的访问如同调用了另外一个网址域名下的资源,不需要浏览器安装任何插件,使用浏览器原生的JavaScript编程语言就可以完成B/S系统与外设资源的交互。使得外设开发厂商只需要开发一套程序就可以支持所有浏览器,节省外设开发厂商的成本。B/S程序的开发者也只用针对一套程序接口来调用外部设备,不需要考虑浏览器的差异。用户只用安装一次外设驱动,就可以使得所有浏览器都可以调用外设,提升用户体验。
进一步的,所述跨浏览器外设调用的装置和操作系统同时启动。
装置和操作系统同时启动可以很好的支持操作系统,对外设的操作都能及时响应。
进一步的,所述解析模块包括:
分解单元:分解外设操作请求的来源;
判断单元:判断来源的安全性;
处理单元:如果来源不受信则返回请求受限。
分解外设操作请求的来源并判断其安全性,提高了外设的安全性。
进一步的,所述分解单元还分解外设操作请求头文件中的来源信息。
来源信息可以方便的简洁的获取,节约了工作流程,提高了工作效率。
进一步的,所述解析模块还包括存储单元,所述存储单元保存可访问域名的安全列表,所述判断单元判断外设操作请求的来源是否在安全列表内,如果来源在安全访问列表中则受信,否则不受信。
来源的安全性通过设置安全访问列表的方式实现,用户具体设定哪些网站域名可以去访问外设,那些不能,可以进行更精细的安全设定。
本发明由于将所有通过浏览器插件对外设的请求转换为基于HTTP协议的数据请求,借助浏览器对HTTP协议的良好支持,完成了B/S系统对外设的友好访问。B/S系统对外设的访问如同调用了另外一个网址域名下的资源,不需要浏览器安装任何插件,使用浏览器原生的JavaScript编程语言就可以完成B/S系统与外设资源的交互。使得外设开发厂商只需要开发一套程序就可以支持所有浏览器,节省外设开发厂商的成本。B/S程序的开发者也只用针对一套程序接口来调用外部设备,不需要考虑浏览器的差异。用户只用安装一次外设驱动,就可以使得所有浏览器都可以调用外设,提升用户体验。
附图说明
图1是本发明实施例一的跨浏览器外设调用的方法示意图;
图2是图1步骤S2的示意图;
图3是本发明实施例二的跨浏览器外设调用的装置示意图一;
图4是本发明实施例二的跨浏览器外设调用的装置示意图二;
图5是本发明实施例二的跨浏览器外设调用的装置示意图三;
图6是本发明实施例的应用示意图。
其中:1、接收模块,2、解析模块,21、分解单元,22、判断单元,23、处理单元,24、存储单元,3、操作模块,4、返回模块。
具体实施方式
下面结合附图和较佳的实施例对本发明作进一步说明。
实施例一
如图1所示,一种跨浏览器外设调用的方法,包括步骤:
S1:接收B/S系统网站通过HTTP协议发出的外设操作请求;
S2:解析所述外设操作请求;
S3:操作外设硬件设备,接收外设硬件设备操作结果;
S4:操作结果转化为HTTP协议返回B/S系统网站。
由于本发明将所有通过浏览器插件对外设的请求转换为基于HTTP协议的数据请求,借助浏览器对HTTP协议的良好支持,完成了B/S系统对外设的友好访问。B/S系统对外设的访问如同调用了另外一个网址域名下的资源,不需要浏览器安装任何插件,使用浏览器原生的JavaScript编程语言就可以完成B/S系统与外设资源的交互。使得外设开发厂商只需要开发一套程序就可以支持所有浏览器,节省外设开发厂商的成本。B/S程序的开发者也只用针对一套程序接口来调用外部设备,不需要考虑浏览器的差异。用户只用安装一次外设驱动,就可以使得所有浏览器都可以调用外设,提升用户体验。
如图2所示,其中步骤S2还包括:
S201:分解外设操作请求的来源;
S202:判断来源的安全性;
S203:如果来源不受信则返回请求受限;否则来源受信并进入步骤S3。
来源的安全性根据来源是否在安全访问列表中判断,如果来源在安全访问列表中则受信,否则不受信。用户也可以具体设定哪些网站域名可以去访问外设,哪些不能,保证了设备的安全性。
所述外设操作请求的头文件里包括来源信息。根据HTTP协议,B/S网站程序在进行外设操作请求时,浏览器会在HTTP请求的Header(请求头部)放入Referer,告诉这个请求是从哪个页面链接过来的,这样再根据用户所设定的可访问域名列表,确定这个域名下页面来的请求是否受信,如果受信则解析请求,开始硬件调用操作,如果不受信则返回请求受限。优选的可以设置所有域名都能访问外设硬件设备,例如配置为*含义为所有域名都可以访问。
所述外设操作请求包括取得外设硬件设备状态的状态请求和操作外设硬件设备并返回操作结果的操作请求。HTTP请求协议,把请求操作分为了两类:一种状态请求,使用HTTP的GET方式请求。另一类使用HTTP的POST方式请求。GET请求表示对状态的取得,只获取状态,不进行操作。POST请求为操作请求,表示对外设的操作,返回操作的结果。如以TSCTTP-244PLUS条码打印机为外设,进行举例:B/S取得打印机状态HTTPGET,请求URL地址:localhost:8333/Status?Device=Printer244取得打印机状态信息,Device=Printer244为设备名称,如果需要进行其它参数设定,可继续添加使用&作为分割符,进行分割,最后一个参数为回掉参数,当操作成功以后,会把打印机信息回掉给B/S程序设定的方法。
实施例二
如图3所示,使用实施例一的方法的一种跨浏览器外设调用的装置,包括:
接收模块:接收B/S系统网站通过HTTP协议发出的外设操作请求;
解析模块:解析所述外设操作请求;
操作模块:操作外设硬件设备,接收外设硬件设备操作结果;
返回模块:操作结果转化为HTTP协议返回B/S系统网站。
其中操作模块调用外设硬件设备SDK接收操作结果。跨浏览器外设调用的装置和操作系统同时启动。
如图4所示,解析模块包括:
分解单元:分解外设操作请求的来源;
判断单元:判断来源的安全性;
处理单元:如果来源不受信则返回请求受限。
分解单元还分解外设操作请求头文件中的来源信息。如图5所示,解析模块还包括存储单元,所述存储单元保存可访问域名的安全列表,所述判断单元判断外设操作请求的来源是否在安全列表内,如果来源在安全访问列表中则受信,否则不受信。
外设开发厂商只需要开发一套程序就可以支持所有浏览器,节省外设开发厂商的成本。B/S程序的开发者也只用针对一套程序接口来调用外部设备,不需要考虑浏览器的差异。用户只用安装一次外设驱动,就可以使得所有浏览器都可以调用外设,提升用户体验。同时用户也可以进行更加细致的安全设定,具体设定哪些网站域名可以去访问外设,哪些不能。
实施例三
如图6所示,运用实施例一的一种跨浏览器外设调用方法和/或实施例二的一种跨浏览器外设调用装置的应用,运行安装程序,安装外设与Web通讯方案。设定通讯端口,设定那些网站域名可以访问外设。当程序安装好以后,会在本机开启一个Web服务,这个Web服务会和操作系统同时启动,这个Web服务会在用户设定的端口运行,接收B/S系统所发出的外设操作请求,将HTTP协议的请求转换为硬件外设可以识别的硬件操作请求。当硬件操作处理完成以后,将硬件操作结果转化为HTTP协议,返回给B/S程序。
浏览器:浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。
外设:外部设备简称“外设”,是指连在计算机主机以外的外设硬件设备。对数据和信息起着传输、转送、转换和存储的作用,是计算机系统中的重要组成部分。包括打印机、扫描仪、条码扫描抢等外设硬件设备。
HTTP:超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
SDK:软件开发工具包(外语首字母缩写:SDK、外语全称:SoftwareDevelopmentKit)一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。软件开发工具包广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
HTTPReferer:是header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种跨浏览器外设调用的方法,其特征在于,包括步骤:
S1:接收B/S系统网站通过HTTP协议发出的外设操作请求;
S2:解析所述外设操作请求;
S3:操作外设硬件设备,接收外设硬件设备操作结果;
S4:操作结果转化为HTTP协议返回B/S系统网站。
2.如权利要求1所述的一种跨浏览器外设调用的方法,其特征在于,步骤S2还包括:
S201:分解外设操作请求的来源;
S202:判断来源的安全性;
S203:如果来源不受信则返回请求受限;否则来源受信并进入步骤S3。
3.如权利要求2所述的一种跨浏览器外设调用的方法,其特征在于,来源的安全性根据来源是否在安全访问列表中判断,如果来源在安全访问列表中则受信,否则不受信。
4.如权利要求2所述的一种跨浏览器外设调用的方法,其特征在于,所述外设操作请求的头文件里包括来源信息。
5.如权利要求1所述的一种跨浏览器外设调用的方法,其特征在于,所述外设操作请求包括取得外设硬件设备状态的状态请求和操作外设硬件设备并返回操作结果的操作请求。
6.一种跨浏览器外设调用的装置,其特征在于,包括:
接收模块:接收B/S系统网站通过HTTP协议发出的外设操作请求;
解析模块:解析所述外设操作请求;
操作模块:操作外设硬件设备,接收外设硬件设备操作结果;
返回模块:操作结果转化为HTTP协议返回B/S系统网站。
7.如权利要求6所述的一种跨浏览器外设调用的装置,其特征在于,所述跨浏览器外设调用的装置和操作系统同时启动。
8.如权利要求6所述的一种跨浏览器外设调用的装置,其特征在于,所述解析模块包括:
分解单元:分解外设操作请求的来源;
判断单元:判断来源的安全性;
处理单元:如果来源不受信则返回请求受限。
9.如权利要求8所述的一种跨浏览器外设调用的装置,其特征在于,所述分解单元还分解外设操作请求头文件中的来源信息。
10.如权利要求8所述的一种跨浏览器外设调用的装置,其特征在于,所述解析模块还包括存储单元,所述存储单元保存可访问域名的安全列表,所述判断单元判断外设操作请求的来源是否在安全列表内,如果来源在安全访问列表中则受信,否则不受信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510505435.6A CN105094921A (zh) | 2015-08-18 | 2015-08-18 | 一种跨浏览器调用外设的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510505435.6A CN105094921A (zh) | 2015-08-18 | 2015-08-18 | 一种跨浏览器调用外设的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105094921A true CN105094921A (zh) | 2015-11-25 |
Family
ID=54575431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510505435.6A Pending CN105094921A (zh) | 2015-08-18 | 2015-08-18 | 一种跨浏览器调用外设的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094921A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445620A (zh) * | 2016-10-20 | 2017-02-22 | 南京莱斯信息技术股份有限公司 | 一种支持浏览器的客户端功能扩展组件的实现方法 |
CN107239308A (zh) * | 2017-06-05 | 2017-10-10 | 广东西奥物联网科技股份有限公司 | 一种浏览器的调用功能实现方法及系统 |
CN108255757A (zh) * | 2018-01-02 | 2018-07-06 | 中国工商银行股份有限公司 | 外设的集中调用方法、装置以及系统 |
CN109725935A (zh) * | 2018-12-29 | 2019-05-07 | 广东亿迅科技有限公司 | 一种屏蔽浏览器差异的外设控件集成方法及装置 |
CN110417852A (zh) * | 2019-06-12 | 2019-11-05 | 山谷网安科技股份有限公司 | 跨浏览器控制外设的通用方法、装置及系统 |
CN110730208A (zh) * | 2019-09-16 | 2020-01-24 | 深圳市国信合成科技有限公司 | 一种本地设备调用方法、装置、存储介质及设备 |
CN113158166A (zh) * | 2021-05-20 | 2021-07-23 | 中国工商银行股份有限公司 | 一种外设调用方法、系统、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067492A (zh) * | 2012-12-26 | 2013-04-24 | 上海无线通信研究中心 | 基于网络的通信控制装置、电器设备及其网络控制方法 |
CN104010031A (zh) * | 2014-05-21 | 2014-08-27 | 华南理工大学 | 一种改善Web浏览器应用效率的分布式协同方法 |
CN104065992A (zh) * | 2014-06-19 | 2014-09-24 | 浪潮软件集团有限公司 | 一种基于html的多屏机顶盒遥控器系统和工作方法 |
CN104601558A (zh) * | 2014-12-31 | 2015-05-06 | 微梦创科网络科技(中国)有限公司 | 防御跨站请求伪造攻击的方法及装置 |
-
2015
- 2015-08-18 CN CN201510505435.6A patent/CN105094921A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067492A (zh) * | 2012-12-26 | 2013-04-24 | 上海无线通信研究中心 | 基于网络的通信控制装置、电器设备及其网络控制方法 |
CN104010031A (zh) * | 2014-05-21 | 2014-08-27 | 华南理工大学 | 一种改善Web浏览器应用效率的分布式协同方法 |
CN104065992A (zh) * | 2014-06-19 | 2014-09-24 | 浪潮软件集团有限公司 | 一种基于html的多屏机顶盒遥控器系统和工作方法 |
CN104601558A (zh) * | 2014-12-31 | 2015-05-06 | 微梦创科网络科技(中国)有限公司 | 防御跨站请求伪造攻击的方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445620A (zh) * | 2016-10-20 | 2017-02-22 | 南京莱斯信息技术股份有限公司 | 一种支持浏览器的客户端功能扩展组件的实现方法 |
CN107239308A (zh) * | 2017-06-05 | 2017-10-10 | 广东西奥物联网科技股份有限公司 | 一种浏览器的调用功能实现方法及系统 |
CN107239308B (zh) * | 2017-06-05 | 2021-02-26 | 广东西奥物联网科技股份有限公司 | 一种浏览器的调用功能实现方法及系统 |
CN108255757A (zh) * | 2018-01-02 | 2018-07-06 | 中国工商银行股份有限公司 | 外设的集中调用方法、装置以及系统 |
CN109725935A (zh) * | 2018-12-29 | 2019-05-07 | 广东亿迅科技有限公司 | 一种屏蔽浏览器差异的外设控件集成方法及装置 |
CN110417852A (zh) * | 2019-06-12 | 2019-11-05 | 山谷网安科技股份有限公司 | 跨浏览器控制外设的通用方法、装置及系统 |
CN110730208A (zh) * | 2019-09-16 | 2020-01-24 | 深圳市国信合成科技有限公司 | 一种本地设备调用方法、装置、存储介质及设备 |
CN113158166A (zh) * | 2021-05-20 | 2021-07-23 | 中国工商银行股份有限公司 | 一种外设调用方法、系统、电子设备及介质 |
CN113158166B (zh) * | 2021-05-20 | 2024-04-19 | 中国工商银行股份有限公司 | 一种外设调用方法、系统、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105094921A (zh) | 一种跨浏览器调用外设的方法及装置 | |
US8375362B1 (en) | Wizard for web service search adapter | |
CN108156022B (zh) | 一种服务调用方法、装置及电子设备 | |
US9444899B2 (en) | Use of internet information services logging to collect user information in an asynchronous manner | |
CN107809383B (zh) | 一种基于mvc的路径映射方法及装置 | |
US20130297973A1 (en) | Automated Conformance and Interoperability Test Lab | |
CN109144567B (zh) | 跨平台的网页渲染方法、装置、服务器及存储介质 | |
US8239493B2 (en) | Automated server controlled client-side logging | |
US11846972B2 (en) | Method and apparatus for generating software test reports | |
US8924867B2 (en) | Web interface for remote platform build | |
US20100229081A1 (en) | Method for Providing a Navigation Element in an Application | |
CN113760729A (zh) | 一种代码检测方法和装置 | |
CN103701779A (zh) | 一种二次访问网站的方法、装置及防火墙设备 | |
US9571557B2 (en) | Script caching method and information processing device utilizing the same | |
CN111367802B (zh) | web自动化测试方法、装置及计算机可读存储介质 | |
CN104954363A (zh) | 用于生成接口文档的方法和装置 | |
US20080163168A1 (en) | Javascript pre-processing framework | |
JP2010267266A (ja) | 試験支援装置および試験支援方法 | |
US10606569B2 (en) | Declarative configuration elements | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
US20150294241A1 (en) | Enterprise integration platform | |
JP2006119071A (ja) | 分析データ処理システム及び分析装置 | |
JP5299625B2 (ja) | 操作支援装置、操作支援方法、及びプログラム | |
CN113138767A (zh) | 代码语言转换方法、装置、电子设备及存储介质 | |
CN112269739A (zh) | 网页测试方法及其装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |