一种支持多种浏览器内核的html信息录入方法技术

技术编号:15691001 阅读:115 留言:0更新日期:2017-06-24 03:51
本发明专利技术公开了一种支持多种浏览器内核的html信息录入方法,包括以下步骤:S1.信息获取,外置硬件获取信息;S2.信息传输,将获取的信息传输到BHO或npapi浏览器插件;S3.信息生成,执行javascript脚本,将信息生成为浏览器html文档。本方法无需在设计html页面时,特殊设计对应的插件;且具有网站无关性,对于任意需要录入信息的网站,都可以使用本方法从本地硬件采集信息,录入网站。不需要改动原有系统,可大大提高信息录入的速度和准确性。

HTML information input method supporting multiple browser cores

The invention discloses a HTML information input method supporting multiple browser kernel, which comprises the following steps: obtaining S1. information, external hardware information; S2. information transmission, the transmission of information access to BHO or npapi browser plugin; S3. information generation, execution of the JavaScript script, the information into HTML document browser. This method does not need the HTML page design, special design corresponding plug-in; and have nothing to do with the website for any need to enter the information website, can collect information from the local hardware using this method, the entry site. Without changing the original system, it can greatly improve the speed and accuracy of information input.

【技术实现步骤摘要】
一种支持多种浏览器内核的html信息录入方法
本专利技术属于信息录入
,特别地涉及一种支持多种浏览器内核的html信息录入方法。
技术介绍
由于信息技术的快速发展,将外部信息录入计算机系统的方法越来越便捷,通过外部硬件,可以快速将条形码、二维码等信息录入计算机系统。而随着信息管理软件逐步由传统的C/S结构向B/S结构转变,越来越多的信息录入在网页上实现,这种方式的转变一方面极大减轻了软件实施方的安装、维护工作量,同时一定程度地降低了对客户端的设备要求。目前,在html页面中直接录入外部信息的方法主要为在html中内嵌插件。该方法需要开发该网页专用的浏览器插件,并在html中引用。当浏览器打开特定的、需要录入外部信息的html页面时,加载插件。这种方法利用插件作为本地应用的属性,可以执行html所不能完成的工作,例如读写系统中的文件,使用硬件资源等。但是,html内嵌插件的方法具有极高的设计耦合性,其要求在设计html页面的时候,同时考虑与之相关的插件,提高设计过程的复杂程度。另外,对于历史遗留网站,如果不重新设计架构,则必须沿用人工录入的办法,无法实现线上直接进行信息录入;而重新设计部署的成本往往是巨大的。
技术实现思路
为解决上述问题,本专利技术的目的在于提供一种支持多种浏览器内核的html信息录入方法,无需下载插件,不改动原有系统,就可以直接从本地硬件中采集信息并录入网站,大大提高录入的速度和准确性。为实现上述目的,本专利技术的技术方案为:一种支持多种浏览器内核的html信息录入方法,包括以下步骤:S1.信息获取,外置硬件获取信息;S2.信息传输,浏览器插件调取外置硬件获取的信息;S3.信息生成,将信息生成为浏览器html文档,通过javascript脚本自动生成html表单。S1.信息获取中,根据不同的信息介质,选择不同的硬件,不作为本方法的要点,例如身份证信息,可以外接第三方身份证阅读硬件,例如二维码信息,可以外接摄像头拍射二维码图片并解析。本地c++应用程序使用结构体保存外置硬件获取到的信息。从而将信息保存到本地硬件。进一步的,S1还包括以下步骤:外置硬件获取到的信息保存到本地C++应用程序。S2中的浏览器中插件为BHO插件或npapi插件。进一步的,S2中的信息传输采用windows共享内存机制。S2信息传输包括以下子步骤:S21.定义一个本地C++应用程序与BHO插件或npapi插件共用的结构体;S22.采用windows共享内存机制,将定义的结构体存入共享内存;S23.本地C++应用程序与浏览器插件按照一定规则读写结构体内的数据。其中,S23所述的规则为:本地C++应用程序激活互斥锁,创建或写共享内存,而后解锁互斥锁,生成信号量;浏览器插件等待本地C++应用程序给出的信号量,并在接收信号量后激活互斥锁,读共享内存,进而解锁互斥锁。根据此规则完成读写过程后,信息就已经到达BHO或者npapi插件,并储存于插件的结构体中。进一步的,S3中,对于IE浏览器和非IE浏览器执行javascript脚本的方法有所不同。对于IE浏览器,可以通过BHO技术。BHO插件是针对IE浏览器的插件,BHO插件是一种com组件,实现了IObjectWithSite接口。并需要根据浏览器是32位还是64位,到注册表\\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BrowserHelperObjects注册BHO插件的guid。因此,IE浏览器执行javascript脚本的方法为:IE浏览器通过BHO插件生成html表单,具体方法为:通过BHO插件监听浏览器的文档加载完毕事件;判断该信息文档是否是目标html文档,如果是,则构造并执行javascript脚本,将信息生成到html表单中。而对于非IE内核浏览器,可以通过npapi技术。npapi插件即网景插件应用程序编程接口,是遵循网景通信公司(NetscapeCommunicationsCorporation)所制定规范的一组单纯的CPlugin应用程序接口,主要针对非IE浏览器。2004年底时,各家浏览器公司(IE,Opera,Mozilla等)都同意支援NPRuntime延伸API(应用程序编程接口)以支援Scriptability,所以目前需要以NPRuntimeAPI为基础,才能使Plugin跨越各种浏览器。将包含npapi插件的扩展安装到浏览器上,当浏览器启动后,会在默认的plugins文件夹中加载npapi插件,并读取插件的MimeType属性,保存到浏览器内部。插件初始化时,浏览器通过NP_Initialize接口将自己的接口传递给npapi插件,npapi插件通过NP_GetEntryPoints接口将自身接口传递给浏览器,从而达到双方互调的目的。进而,非IE内核浏览器执行javascript脚本的方法为:通过npapi插件生成html表单,具体方法为:浏览器扩展引用npapi插件,启动npapi插件中一个类的实例,使用该实例在浏览器上执行javascript脚本,将信息生成到html表单中。进一步的,S3还包括以下步骤:javascript脚本找到目标html文档的目标element,将插件中的信息字段对目标element赋值,实现信息到html页面的填充。本专利技术的有益效果是:(1)本方法无需在设计html页面时,特殊设计对应的插件;(2)本方法具有网站无关性,对于任意需要录入信息的网站,都可以使用本方法从本地硬件采集信息,录入网站。不需要改动原有系统,可大大提高信息录入的速度和准确性。附图说明图1为本专利技术实施例中的html信息录入流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。相反,本专利技术涵盖任何由权利要求定义的在本专利技术的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本专利技术有更好的了解,在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。本专利技术实施例的html信息录入方法流程如图1所示。一种支持多种浏览器内核的html信息录入方法,包括以下步骤:S1.信息获取,外置硬件获取信息;S2.信息传输,将获取的信息传输到BHO或npapi浏览器插件;S3.信息生成,将信息生成为浏览器html文档,通过javascript脚本自动生成html表单。其中,S1.信息获取采用外接硬件的方式,从硬件驱动中按照驱动SDK,获取信息。本地c++应用程序使用结构体保存外置硬件获取到的信息的步骤。从而将信息保存到本地硬件。外置硬件不作为本方法的要点,可以根据不同的信息介质,选择不同的硬件。例如身份证信息,可以外接第三方身份证阅读硬件;二维码信息,则可以外接摄像头拍射二维码图片并解析。其中,S2信息传输采用windows共享内存机制。具体的,S2包括以下子步骤:S21.定义一个本地C++应用程序与BHO插件或npapi插件共用的结构体;S22.采用windows共享内存机制本文档来自技高网...
一种支持多种浏览器内核的html信息录入方法

【技术保护点】
一种支持多种浏览器内核的html信息录入方法,其特征在于,包括以下步骤:S1.信息获取,外置硬件获取信息;S2.信息传输,浏览器插件调取外置硬件获取的信息;S3.信息生成,将信息生成为浏览器html文档,通过javascript脚本自动生成html表单。

【技术特征摘要】
1.一种支持多种浏览器内核的html信息录入方法,其特征在于,包括以下步骤:S1.信息获取,外置硬件获取信息;S2.信息传输,浏览器插件调取外置硬件获取的信息;S3.信息生成,将信息生成为浏览器html文档,通过javascript脚本自动生成html表单。2.根据权利要求1所述的支持多种浏览器内核的html信息录入方法,其特征在于,S1还包括以下步骤:外置硬件获取到的信息保存到本地C++应用程序。3.根据权利要求1所述的支持多种浏览器内核的html信息录入方法,其特征在于,S2中的浏览器中插件为BHO插件或npapi插件。4.根据权利要求1所述的支持多种浏览器内核的html信息录入方法,其特征在于,S2包括以下子步骤:S21.定义一个本地C++应用程序与BHO插件或npapi插件共用的结构体;S22.采用windows共享内存机制,将定义的结构体存入共享内存;S23.本地C++应用程序与浏览器插件按照一定规则读写结构体内的数据。5.根据权利要求4所述的支持多种浏览器内核的html信息录入方法,其特征在于,S23所述的规则为:本地C++应用程序激活互斥锁,创建或...

【专利技术属性】
技术研发人员:杨伟丽
申请(专利权)人:杭州云灵科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1