CN116595284B - 网页***运行方法、装置、设备、存储介质和程序 - Google Patents
网页***运行方法、装置、设备、存储介质和程序 Download PDFInfo
- Publication number
- CN116595284B CN116595284B CN202310856138.0A CN202310856138A CN116595284B CN 116595284 B CN116595284 B CN 116595284B CN 202310856138 A CN202310856138 A CN 202310856138A CN 116595284 B CN116595284 B CN 116595284B
- Authority
- CN
- China
- Prior art keywords
- browser
- advanced
- original
- script
- calling
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 514
- 238000013515 script Methods 0.000 claims abstract description 208
- 230000006870 function Effects 0.000 claims description 73
- 238000004806 packaging method and process Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 21
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 description 34
- 230000018109 developmental process Effects 0.000 description 34
- 238000005516 engineering process Methods 0.000 description 28
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 3
- 230000027455 binding Effects 0.000 description 3
- 238000009739 binding Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011423 initialization method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种网页***运行方法、装置、设备、存储介质和程序。该方法包括:根据响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;然后根据运行接口指令,在目标浏览器中运行网页***。其中,该方法中的目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件。采用本方法能够提升网页***的运行兼容效率。
Description
技术领域
本申请涉及本申请涉及计算机技术前端开发领域,特别是涉及一种网页***运行方法、装置、设备、存储介质和程序。
背景技术
随着计算机技术的迅猛发展,浏览器越来越多样化,对应的版本也越来越高,出现了很多Web***无法适应所有浏览器的问题。例如,若Web***是基于低版本浏览器开发的,一旦低版本浏览器下架,就导致该Web***无法在其他高级版本的浏览器运行。
基于此,往往需要对Web***进行改造才能使其兼容运行在不同浏览器中。传统方法中,针对同一Web***在多浏览器兼容的方式通常是在Web***前端运行在页面中时,根据浏览器环境把Web***前端方法的调用在每个脚本功能点进行修改,以适应浏览器环境。
然而,上述Web***兼容多浏览器的方法过于繁杂,存在费时费力的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升Web***兼容效率的网页***运行方法、装置、设备、存储介质和程序。
第一方面,本申请提供了一种网页***运行方法,该方法包括:
响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件;
根据运行接口指令,在目标浏览器中运行网页***。
在其中一个实施例中,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令,包括:
通过执行兼容脚本库获取目标浏览器的类别;
根据目标浏览器的类别,输出网页***在目标浏览器中的运行接口指令。
在其中一个实施例中,获取目标浏览器的类别包括:
获取目标浏览器的类型和版本号;
若类型为预设的浏览器类型且版本号属于预设的版本号,则确定目标浏览器为原始浏览器;否则,确定目标浏览器为高级浏览器。
在其中一个实施例中,根据目标浏览器的类别信息,输出网页***在目标浏览器中的运行接口指令,包括:
若目标浏览器的类别为原始浏览器,则在兼容脚本库中获取网页***在原始浏览器中的所有原始调用方法;
根据各原始调用方法,输出网页***在原始浏览器中的运行接口指令。
在其中一个实施例中,根据目标浏览器的类别信息,输出网页***在目标浏览器中的运行接口指令,包括:
若目标浏览器的类别为高级浏览器,则在兼容脚本库中获取网页***在高级浏览器中的所有高级调用方法;
根据各高级调用方法,输出网页***在高级浏览器中的运行接口指令。
在其中一个实施例中,根据各高级调用方法,输出网页***在高级浏览器中的运行接口指令,包括:
获取网页***在高级浏览器中运行页面的功能;
根据运行页面的功能,对各高级调用方法进行拼接,以生成网页***在高级浏览器中的运行接口指令。
在其中一个实施例中,网页***运行方法还包括:
获取高级浏览器所支持的功能特性;
根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法。
在其中一个实施例中,原始调用方法包括原始脚本方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
获取高级浏览器的语法标准;
根据高级浏览器的语法标准重新定义网页***的原始脚本方法,得到重新定义后的原始脚本方法;
将重新定义后的原始脚本方法进行封装,得到高级脚本方法。
在其中一个实施例中,原始脚本方法包括多种子脚本方法,且每个子脚本方法中包括多个参数,根据高级浏览器的语法标准重新定义网页***的原始脚本方法,包括:
针对任一种子脚本方法,依次获取子脚本方法中各参数,并通过高级浏览器的语法标准重新对参数进行定义,形成定义后的各参数;
根据子脚本方法中各参数之间的逻辑关系,将定义后的各参数进行封装,得到重新定义后的子脚本方法。
在其中一个实施例中,多种子脚本方法包括公用方法脚本方法、库属性脚本方法、元素兼容脚本方法、事件兼容脚本方法、表单选取脚本方法、节点获取脚本方法、字符串处理脚本方法、运行***属性脚本方法中至少一个。
在其中一个实施例中,原始调用方法包括原始层叠样式表方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
在网页***的原始层叠样式表方法基础上,构建高级浏览器支持的高级层叠样式表方法;
根据高级浏览器的样式标准封装高级层叠样式表方法,得到高级层叠样式表方法。
在其中一个实施例中,原始调用方法包括原始插件方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
获取高级浏览器中插件功能的调用标准;插件功能包括读取数据功能、发送请求功能和拍照功能;
根据插件功能的调用标准重新定义网页***的原始插件方法;
将重新定义后的原始插件方法进行封装,得到高级插件方法。
在其中一个实施例中,原始调用方法包括原始绘制图表方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
获取网页***的矢量图像节点、高级浏览器的矢量图像绘制标准;
根据高级浏览器的矢量图像绘制标准重新生成网页***的绘制节点方法;
将重新生成的绘制节点方法进行封装,得到高级绘制图表方法。
在其中一个实施例中,原始调用方法包括原始组件引入方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
获取网页***的组件文件、高级浏览器的风格样式;
根据高级浏览器的风格样式修改网页***的原始组件引入方法;
将修改后的组件文件引入方法重新封装,得到高级组件引入方法。
在其中一个实施例中,原始调用方法包括原始客户端文件上传方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
获取高级浏览器的标签文件夹;
根据高级浏览器的标签文件夹对网页***的原始客户端上传方法进行覆盖处理;
将覆盖处理后的原始客户端上传方法进行封装,得到高级客户端上传方法。
第二方面,本申请还提供了一种网页***运行装置。该装置包括:
指令输出模块,用于响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件;
页面运行模块,用于根据运行接口指令,在目标浏览器中运行网页***。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述第一方面中任一项实施例中的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例中的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例中的方法的步骤。
上述网页***运行方法、装置、设备、存储介质和程序,根据响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;然后根据运行接口指令,在目标浏览器中运行网页***。其中,该方法中的目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件。由于该方法是基于兼容脚本库对网页***的调用方法进行兼容的,且兼容脚本库包含浏览器的所有调用方法,相当于在对网页***的运行请求时,直接获取了能够兼容目标浏览器的所有运行指令,这样构建的兼容脚本库能够在兼容不同类型的浏览器,提升网页***在不同浏览器上兼容运行的效率。
附图说明
图1为一个实施例中网页***运行方法的应用环境图;
图2为一个实施例中网页***运行方法的流程示意图;
图3为一个实施例中运行接口指令输出步骤的流程示意图;
图4为一个实施例中浏览器类别获取步骤的流程示意图;
图5为另一个实施例中运行接口指令输出步骤的流程示意图;
图6为另一个实施例中运行接口指令输出步骤的流程示意图;
图7为另一个实施例中运行接口指令输出步骤的流程示意图;
图8为一个实施例中高级调用方法的流程示意图;
图9为一个实施例中Web***开发技术的应用示意图;
图10为一个实施例中调用方法封装步骤的流程示意图;
图11为一个实施例中原始脚本获取步骤的流程示意图;
图12为另一个实施例中调用方法封装步骤的流程示意图;
图13为另一个实施例中调用方法封装步骤的流程示意图;
图14为另一个实施例中调用方法封装步骤的流程示意图;
图15为一个实施例中原始浏览器的流程实例图;
图16为另一个实施例中调用方法封装步骤的流程示意图;
图17为另一个实施例中调用方法封装步骤的流程示意图;
图18为一个实施例中网页***运行方法装置的结构框图;
图19为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的网页***运行方法,可以应用于如图1所示的应用环境中。其中,服务器102通过网络与浏览器104进行通信,服务器102从浏览器104接收到运行请求,执行兼容脚本库输出运行接口指令,浏览器104根据运行接口指令运行网页***。
网页***通常是基于开发浏览器(比如IE5浏览器)进行构建的,那么网页***只能在开发浏览器的环境中运行,而无法在非开发浏览器(比如Chrome浏览器)的环境中运行。也就是说,浏览器的运行环境限制了网页***能否正常运行。因此,需要对网页***进行改造,使得网页***能够在开发浏览器和非开发浏览器的运行环境中均能正常运行,实现多个浏览器的兼容。
传统方法中,通常是在Web***前端运行在页面中时,根据非开发浏览器对每个Web前端的调用方法进行修改,以适应浏览器环境。如果有多个***,就意味着要修改多次,每次修改又包含多个调试点,出现修改过程费时费力的问题。
为了提升网页***的运行兼容效率,本申请提供了一种网页***运行方法,本申请实施例中的网页***运行方法,以应用于图1中的浏览器104为例进行说明,如图2所示,该方法包括以下步骤:
S202,响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件。
其中,兼容脚本库是指能够在开发浏览器的Web页面兼容非开发浏览器的脚本库。开发浏览器是指网页***在开发阶段引用的浏览器,比如IE5、IE6和IE7等浏览器;非开发浏览器是指与网页***在开发阶段引用的浏览器不同的其他浏览器,比如IE10、Chrome浏览器、搜狐浏览器等。
调用方法是指从方法中的数据查找到满足预设条件的数据的方法,根据调用过程中是否需要关键字修饰可以分为静态调用和动态调用两种方式。其中静态调用需要关键字修饰,具体是通过类名进行调用,动态调用不需要关键字修饰,具体是通过对象名进行调用。
需要说明的是,兼容脚本库包括网页***的所有调用方法以及对应的调用数据,并且该调用方法和调用数据是根据多个类型浏览器的运行逻辑进行修改,从而实现不同类型浏览器的兼容,这就意味着兼容脚本库能够满足不同类型浏览器对网页***的不同运行请求的响应。示例性地,当面对网页***的运行请求时,兼容脚本库根据网页***获取对应的调用数据,并根据该调用数据的调用方法获取运行接口指令。
由于开发浏览器的版本通常较低,且对应的编程框架与非开发浏览器不一致,那么在非开发浏览器运行网页***时,则需要通过兼容脚本库以实现网页***的正常运行。
具体地,将当前请求运行浏览器作为目标浏览器,同时兼容脚本库根据目标浏览器生成运行接口指令,根据兼容脚本库生成的运行接口指令响应网页***的运行请求时。
可选的,兼容脚本库可以预设目标浏览器的所有运行接口指令,并将所有运行接口指令封装在一个文件夹中,根据目标浏览器的运行请求调用文件夹的运行接口指令,以响应网页***的运行请求。
可选的,兼容脚本库可以预设网页***的所有运行接口指令,根据目标浏览器的运行请求对目标浏览器的网页***的运行接口指令实时拼接,以获取运行接口指令,从而响应网页***的运行请求。
S204,根据运行接口指令,在目标浏览器中运行网页***。
在获取运行接口指令之后,需要使得网页***在目标浏览器中正常运行。具体地,将运行接口指令作用于目标浏览器的运行网页,使得运行网页以目标浏览器允许的方式进行调用,完成网页***在目标浏览器的正常运行。
本申请实施例中,根据响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;然后根据运行接口指令,在目标浏览器中运行网页***。其中,该方法中的目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件。由于该方法是基于兼容脚本库对网页***的调用方法进行兼容的,且兼容脚本库包含浏览器的所有调用方法,相当于在对网页***的运行请求时,直接获取了能够兼容目标浏览器的所有运行指令,这样构建的兼容脚本库能够在兼容不同类型的浏览器,提升网页***在不同浏览器上兼容运行的效率。
构建运行接口指令时,一般地需要结合目标浏览器信息和兼容信息进行获取,以保证网页***正常运行。基于此,下面通过一个实施例对运行接口指令的具体获取方式进行说明。
在一个实施例中,如图3所示,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令,包括:
S302、通过执行兼容脚本库获取目标浏览器的类别。
其中,目标浏览器可以是开发浏览器,也就是原始浏览器;也可以是非开发浏览器,也就是高级浏览器。
需要说明的是,兼容脚本库是作用在网页***上的脚本库的,无论是开发浏览器还是非开发浏览器,在调用网页***时,都需要执行兼容脚本库生成的运行接口指令。
S304、根据目标浏览器的类别,输出网页***在目标浏览器中的运行接口指令。
需要说明的是,目标浏览器与兼容脚本库的运行接口指令相对应,也就是说针对不同的目标浏览器,会生成不同的运行接口指令。具体地,根据目标浏览器的类别,获取与目标浏览器对应的运行接口指令,然后将运行接口指令返回至目标浏览器。
本申请实施例中,根据兼容脚本库生成运行接口指令,在目标浏览器中运行网页***。由于兼容脚本库中包括网页***的所有调用方式,能够与不同的网页***结合,以实现目标浏览器的兼容特性,因此兼容脚本库具有复用性。此外,兼容脚本库是通过嵌入到各网页***的底层调用指令上进行工作的,考虑了不同浏览器的运行接口方式的差异,使得兼容脚本库可以与不同的目标浏览器进行结合,还具有可移植性。
构建运行接口指令时,一般地需要结合目标浏览器信息和兼容信息进行获取,以保证网页***正常运行。基于此,下面通过一个实施例对浏览器信息的具体获取方式进行说明。则在一个实施例中,如图4所示,获取目标浏览器的类别包括:
S402、获取目标浏览器的类型和版本号。
需要说明的是,网页***的开发是基于开发浏览器的开发语言进行的,由于不同浏览器的开发语言的规范不同,网页***无法在其他非开发浏览器进行。而浏览器的开发语言的规范能够根据浏览器的类型和版本号确定,因此需要获取目标浏览器的类型和版本号。
S404、若类型为预设的浏览器类型且版本号属于预设的版本号,则确定目标浏览器为原始浏览器;否则,确定目标浏览器为高级浏览器。
具体地,首先将原始浏览器的类型和版本号作为预设条件,然后根据目标浏览器的类型和版本号,与预设条件进行对比,从而确定目标浏览器的类别。在对比过程中,可以同时对类型和版本号两个预设条件进行比较,获取目标浏览器的类别结果,也可以是依次对类型和版本号进行比较,获取目标浏览器的类别结果。需要说明的是,只有当目标浏览器的类型和版本号均满足预设条件时,才确定目标浏览器为原始浏览器。
示例性地,若预设条件为浏览器类型是IE、浏览器版本号是5,目标浏览器的类型是IE、浏览器版本号是10,由于目标浏览器的版本号不满足预设条件,确定该目标浏览器为高级浏览器。
示例性地,若预设条件为浏览器类型是IE、浏览器版本号是5,目标浏览器的类型是Chrome、浏览器版本号是5,由于目标浏览器的类型不满足预设条件,确定该目标浏览器为高级浏览器。
本申请实施例中,可以根据不同的原始浏览器的类别设置类型和版本号两个预设条件,考虑了浏览器属性全面性的同时,具有较强的灵活性。
构建运行接口指令时,一般地需要结合目标浏览器信息和兼容信息进行获取,以保证网页***正常运行。基于此,下面通过一个实施例对运行接口指令的具体获取方式进行说明。
在一个实施例中,如图5所示,根据目标浏览器的类别信息,输出网页***在目标浏览器中的运行接口指令,包括:
S502、若目标浏览器的类别为原始浏览器,则在兼容脚本库中获取网页***在原始浏览器中的所有原始调用方法。
需要说明的是,网页***是基于原始浏览器进行开发的,也就是说在原始浏览器中包含网页***的调用方法,那么当目标浏览器是原始浏览器时,直接调用网页***的原始调用方法即可。
S504、根据各原始调用方法,输出网页***在原始浏览器中的运行接口指令。
具体地,在获取原始调用方法时,调用原始浏览器中与原始调用方法的运行接口指令,并将该运行接口指令返回到原始浏览器中。
本申请实施例中,根据浏览器的类别信息为原始浏览器,输出运行接口指令,相当于只需要判断目标浏览器是原始浏览器,就能够直接响应网页***的运行请求,无需对网页***的运行接口指令进行改动,从而加快了网页***的运行响应速度。
构建运行接口指令时,一般地需要结合目标浏览器信息和兼容信息进行获取,以保证网页***正常运行。基于此,下面通过一个实施例对运行接口指令的具体获取方式进行说明。
在一个实施例中,如图6所示,根据目标浏览器的类别信息,输出网页***在目标浏览器中的运行接口指令,包括:
S602、若目标浏览器的类别为高级浏览器,则在兼容脚本库中获取网页***在高级浏览器中的所有高级调用方法。
需要说明的是,由于网页***在高级浏览器无法正常运行,需要通过高级调用方法实现网页***在高级浏览器的正常运行。
具体地,当目标浏览器为高级浏览器时,首先对网页***的原始调用方法进行兼容处理,其中,兼容处理可以是修改、替换和融合等操作手段,然后将兼容处理后的原始调用方法作为高级调用方法,该高级调用方法与高级浏览器的开发技术方法对应。进一步地,开发技术可以包含一个脚本文件,也可以是多个脚本文件,对应的高级调用方法与高级浏览器开发技术的多个脚本文件相对应。
S604、根据各高级调用方法,输出网页***在高级浏览器中的运行接口指令。
其中,网页***包含多个运行页面,每个页面使用的开发技术种类和组合方式不同,对应的运行接口指令的获取方式也不同,因此,需要将各高级调用方法进行整理,输出运行接口指令。
具体地,通过网页***的开发技术对各高级调用方法进行筛选,获取与网页***相对应的各目标高级调用方法,然后将各目标高级调用方法进行整合,将整合后的各目标高级调用方法作为网页***在高级浏览器中的运行接口指令。其中,整合方式可以是根据目标高级调用方法按照预设逻辑进行循环拼接,也可以是对目标高级调用方法进行拼接。
本申请实施例中,根据高级浏览器的所有高级调用方法,获取运行接口指令,支持高级浏览器获取各种网页***的运行接口指令,能够避免高级浏览器对不同网页***进行重新设置调用方法的修改。
在输出运行接口指令时,一般地以各高级调用方法作为基础,以获取有效的调用指令。基于此,下面通过一个实施例对运行接口指令的具体获取方式进行说明。
在一个实施例中,如图7所示,根据各高级调用方法,输出网页***在高级浏览器中的运行接口指令,包括:
S702、获取网页***在高级浏览器中运行页面的功能。
需要说明的是,网页***在高级浏览器中运行的基础是高级浏览器能够执行运行页面的功能。
S704、根据运行页面的功能,对各高级调用方法进行拼接,以生成网页***在高级浏览器中的运行接口指令。
具体地,首先根据运行页面的功能,获取需要的一个或多个开发技术,再通过开发技术与高级调用方法的对应关系,获取运行页面功能所需要的各高级调用方法,将运行页面功能所需要的各高级调用方法进行拼接,生成网页***在高级浏览器中的运行接口指令。
本申请实施例中,根据运行页面的功能生成网页***在高级浏览器中的运行接口指令,能够保证高级浏览器与网页***中不同的运行页面相匹配,从而提升运行接口指令的兼容性。
在获取高级调用方法时,一般地通过结合原始浏览器和高级浏览器,实现网页***在浏览器运行环境中的兼容。基于此,下面通过一个实施例对高级调用方法的具体获取方式进行说明。
在一个实施例中,如图8所示,网页***运行方法还包括:
S802、获取高级浏览器所支持的功能特性。
其中,高级浏览器的功能特性与原始浏览器相对应的功能特性,那么高级浏览器可以实现基于原始浏览器开发的网页***的功能。
S804、根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法。
具体地,首先根据高级浏览器所支持的功能特性,获取原始浏览器对应的功能特性,原始浏览器的功能特性与原始调用方法相对应,再根据高级浏览器的调用方法对原始浏览器的原始调用方法进行重新定义并封装,生成各原始调用方法对应的高级调用方法。
本申请实施例中,从高级浏览器所支持的功能特性出发,与网页***的功能特性相对应,能够保证高级浏览器对网页***的兼容性。
在获取高级调用方法时,一般地通过对多个开发技术进行处理,以实现网页***在浏览器运行环境中的兼容。开发技术如图9所示,具体包括:JavaScript脚本、层叠样式表(Cascading Style Sheets,CSS)、activeX插件、矢量图绘制语言(Vector MarkupLanguage,VML)、HTC(Html Components)组件和Flash客户端上传工具方法。基于此,下面通过一个实施例对基于脚本技术开发的高级脚本方法的获取方式进行说明。
在一个实施例中,如图10所示,原始调用方法包括原始脚本方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
S1002、获取高级浏览器的语法标准。
需要说明的是,语法标准与浏览器相对应,进一步地,原始浏览器的语法标准是特有的,高级浏览器的语法标准与原始浏览器的语法标准不一致,而除原始浏览器之外的各高级浏览器的语法标准都是统一且一致的。
S1004、根据高级浏览器的语法标准重新定义网页***的原始脚本方法,得到重新定义后的原始脚本方法。
具体地,首先根据原始脚本方法获取对应的执行功能,再通过高级浏览器的语法标准对原始脚本执行的功能进行重新定义,获取高级浏览器支持的脚本功能,根据包含高级浏览器支持的脚本功能的文件覆盖原始脚本方法,完成对脚本方法的重新定义。
S1006、将重新定义后的原始脚本方法进行封装,得到高级脚本方法。
需要说明的是,重新定义后的原始脚本方法是支持高级浏览器运行网页***的,且原始脚本与网页***的页面所执行的功能相对应,但是网页***的页面可以包含所有的脚本文件,也可以包含部分脚本文件,因此需要根据网页***的页面所需要的功能特性,对重新定义后的原始脚本文件进行封装。具体地,首先获取网页***的执行功能,在重新定义后的原始脚本中找到与功能对应的目标脚本方法,将目标脚本方法进行封装,获取高级脚本方法。
本申请实施例中,通过高级浏览器的语法标准重新定义脚本文件,能够实现高级浏览器对网页***的脚本文件的兼容。
在获取高级脚本方法时,一般地通过对原始脚本方法的多个子方法进行全面修改,以实现脚本方法的有效兼容。基于此,下面通过一个实施例对子脚本方法的具体获取方式进行说明。
在一个实施例中,如图11所示,原始脚本方法包括多种子脚本方法,且每个子脚本方法中包括多个参数,根据高级浏览器的语法标准重新定义网页***的原始脚本方法,包括:
S1102、针对任一种子脚本方法,依次获取子脚本方法中各参数,并通过高级浏览器的语法标准重新对参数进行定义,形成定义后的各参数。
S1104、根据子脚本方法中各参数之间的逻辑关系,将定义后的各参数进行封装,得到重新定义后的子脚本方法。
由于每一个子脚本都是对应至少一个调用指令的,也就是说每一个子脚本都包含调用指令所需要的参数以及对参数进行操作的逻辑指令。
具体地,在对任一种子脚本方法进行重新定义时,根据子脚本的参数以及逻辑关系,首先是对各子脚本方法中的各参数进行重新定义,再对重新定义后的各参数之间的逻辑重新定义,完成对一个子脚本方法的重新定义。
本申请实施例中,通过参数定义和逻辑关系定义完成一个子脚本方法的构建,从最基础的语法标准消除了高级浏览器和原始浏览器的壁垒,这样构建的子脚本文件实现了各浏览器环境的最大兼容。
针对JS方法重新定义时,通常是对JS方法中的子脚本方法进行修改,以获取有效的兼容脚本方法。基于此,下面通过一个实施例对JS方法中包含的子脚本方法进行说明。
在一个实施例中,多种子脚本方法包括公用方法脚本方法、库属性脚本方法、元素兼容脚本方法、事件兼容脚本方法、表单选取脚本方法、节点获取脚本方法、字符串处理脚本方法、运行***属性脚本方法中至少一个。
在构建高级脚本方法时,对各子脚本方法进行重新定义,再将重新定义后的各脚本方法作为高级子脚本方法,将多个高级子脚本方法进行封装,得到高级脚本方法。现将各高级子脚本的定义方式进行说明:
(1)、公用脚本方法。该方法利用高级浏览器的语法标准实现对浏览器类别的判断,浏览器类别包括浏览器版本和浏览器的型号。具体分为两个步骤,根据预设的浏览器类型,判断网页***的浏览器是否为原始浏览器,输出浏览器类型;预设浏览器的版本,判断浏览器版本是否为原始浏览器的版本,输出浏览器的版本号。
(2)、库属性脚本方法。该方法是为了兼容文件对象在现代浏览器中不存在的属性和方法的库文件。具体地,重新定义页面中框架(frames)方法,获取所有frame标签元素的值,在查找目标值时,将所有frame标签元素的值与目标值进行对比,如果查找到与目标值对应的元素,就直接返回该元素,否则就根据目标值的ID在所有frame标签元素对应的ID中进行查找,并返回与目标值的ID相等的标签元素。需要说明的是,在原始浏览器中并没有区分大小写,因此在查找过程中,需要将属性对应的ID值和元素上的ID值都统一转换为小写,便于查找元素上的值。
(3)、元素兼容脚本方法。该方法是为了兼容现代浏览器不支持的元素属性。具体地,根据元素属性创建添加方法,当判断到高级浏览器不支持的元素时,根据创建的方法获取到不支持元素的属性,从而获取高级浏览器支持的元素,并对该元素实现移除、拦截、赋值等功能。
(4)、事件兼容脚本方法。该方法是兼容相关事件的方法。具体地,将原始浏览器的监听事件方法、移除监听事件方法和触发事件方法添加至在高级浏览器的监听方法。
(5)、表单选取脚本方法。该方法是为了兼容Form表单的选取的库文件。具体是利用预设的方法对选取的库文件进行选取,并实现兼容。兼容方法包括:输入参数项,根据表单项目列表和元素查找列表对该参数项进行查找并返回。
(6)、节点获取脚本方法。该方法是为了是兼容原始浏览器获取元素后,获取该元素下级元素节点的库文件。
(7)、字符串处理脚本方法。该方法是为了兼容新旧浏览器中对字符串处理的兼容库文件。具体地,对于赋予颜色样式的元素节点,首先创建一个新的节点,把颜色值赋予该元素的颜色样式,再返回元素的颜色样式。
(8)、运行***属性脚本方法。该方法是为了兼容window对象相关的属性和方法的库文件。具体地,遍历页面父级页面上所有的Html标签,并获取Html具体的高度,用高度值加上分辨率单位赋给标签。
本申请实施例中,对各子脚本方法重新定义,考虑了脚本方法在不同浏览器最底层的逻辑文件,能够有效解决由于浏览器语法标准不同而无法运行网页***的页面的技术问题,从而实现高级浏览器对原始浏览器的脚本方法的兼容性问题。
在获取高级调用方法时,一般地通过对多个开发技术进行处理,以实现网页***在浏览器运行环境中的兼容。基于此,下面通过一个实施例对基于样式功能开发的高级层叠样式表方法的获取方式进行说明。
在一个实施例中,如图12所示,原始调用方法包括原始层叠样式表方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
S1202、在网页***的原始层叠样式表方法基础上,构建高级浏览器支持的高级层叠样式表方法。
其中,层叠样式表(Cascading Style Sheets,CCS)是一种用来表现文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
具体地,首先根据高级浏览器支持的样式与原始CCS方法进行比较,然后针对高级浏览器不支持的原始CCS的部分,根据高级浏览器的兼容特性新建一个公用样式,以替换掉高级浏览器不支持的原始CCS的部分,从而构建高级浏览器支持的高级层叠样式表方法。其中,新建公用样式包含以下几种:
(1)、设置界面内容的背景颜色为白色。
(2)、统一隐藏object标签。
(3)、设置checkbox表单的margin间距为0。
(4)、设置按钮的间距为0。
(5)、去除作用于按钮点击或者链接进入操作的阴影。
(6)、去除输入框中的默认样式,比如圆角等样式。
(7)、统一设置表格样式,比如表格的边框、颜色和线条,具体是将表格的边框统一设置为1个像素,颜色为黑色,线条为实线。
S1204、根据高级浏览器的样式标准封装高级层叠样式表方法,得到高级层叠样式表方法。
具体地,首先根据高级浏览器的样式标准对高级层叠样式表方法进行重置,再将重置好的高级层叠样式表方法进行封装,生成高级层叠样式表方法。
本申请实施例中,通过构建高级层叠样式表方法获取高级浏览器支持的样式,相当于是将高级浏览器的基础样式重新建立,以适应原始浏览器的特有的样式,能够实现高级浏览器对网页***的原始层叠样式表的兼容。
在获取高级调用方法时,一般地通过对多个开发技术进行处理,以实现网页***在浏览器运行环境中的兼容。基于此,下面通过一个实施例对基于插件功能开发的高级插件方法的获取方式进行说明。
在一个实施例中,如图13所示,原始调用方法包括原始插件方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
S1302、获取高级浏览器中插件功能的调用标准;插件功能包括读取数据功能、发送请求功能和拍照功能。
其中,读取数据功能的读取操作具体是获取原始数据对象和高级浏览器的路径文件;然后对原始数据对象的格式进行转换,生成目标数据对象;最后根据所述高级浏览器的路径文件,读取所述目标数据对象的数据。
S1304、根据插件功能的调用标准重新定义网页***的原始插件方法。
其中,原始插件插件是指ActiveX插件,ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型。ActiveX 插件是用于互联网的很小的程序,支持播放动画,或帮助执行任务,以增强用户的浏览体验。
S1306、将重新定义后的原始插件方法进行封装,得到高级插件方法。
由于activeX插件是只有原始浏览器才支持的,其它浏览器均不会支持,需要对activeX插件功能进行替换。具体地,是根据插件功能的调用标准新建一个插件功能,并以新建的插件功能替换掉原始插件,作为原始插件对应的高级插件,那么高级插件就可以在高级浏览器的运行环境中支持插件功能了。
本申请实施例中,通过构建插件功能类方法替换原始插件功能,能够实现高级浏览器对网页***的activeX插件的兼容。
在获取高级调用方法时,一般地通过对多个开发技术进行处理,以实现网页***在浏览器运行环境中的兼容。基于此,下面通过一个实施例对基于矢量图形绘制技术开发的高级绘制图标方法的获取方式进行说明。
在一个实施例中,如图14所示,原始调用方法包括原始绘制图表方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
S1402、获取网页***的矢量图像节点、高级浏览器的矢量图像绘制标准。
其中,高级浏览器的矢量图像绘制标准是指SVG矢量图形绘制语言。而原始浏览器的矢量图像绘制标准是VML(Vector Markup Language),例如图15,表示原始浏览器的流程图。虽然高级浏览器不支持原始浏览器的绘制语言,但是二者都是以矢量图像节点作为基础进行构建的。
S1404、根据高级浏览器的矢量图像绘制标准重新生成网页***的绘制节点方法。
在获取网页***的矢量图像节点、高级浏览器的矢量图像绘制标准之后,需要对网页***的矢量图像进行改造,使得高级浏览器能够支持网页***的矢量图像。具体地,根据高级浏览器的矢量图像绘制标准对矢量图像的节点重新绘制,以生成以用于高级浏览器的绘制节点方法。
S1406、将重新生成的绘制节点方法进行封装,得到高级绘制图表方法。
根据网页***的矢量图像获取多种绘制节点方法,将重新生成的多个绘制节点方法进行封装,得到高级绘制图表方法,使得高级浏览器能够显示网页***的运行页面中的矢量图。
本申请实施例中,通过高级浏览器的矢量图像绘制语言重新绘制原始浏览器支持的矢量图像,能够实现高级浏览器对网页***的矢量图形的兼容。
在获取高级调用方法时,一般地通过对多个开发技术进行处理,以实现网页***在浏览器运行环境中的兼容。基于此,下面通过一个实施例对基于HTC组件技术开发的高级组件方法的获取方式进行说明。
在一个实施例中,如图16所示,原始调用方法包括原始组件引入方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
S1602、获取网页***的组件文件、高级浏览器的风格样式。
其中,组件文件是指Html组件文件,具体是指含有脚本和HTC定制元素的集合。此外,Html组件文件作为一个封装的对象,可以在开发完后发布给任何人。风格样式是指浏览器支持的风格样式,用于实现浏览器引入包含风格样式的网页***。
S1604、根据高级浏览器的风格样式修改网页***的原始组件引入方法。
以原始浏览器为IE浏览器为例,HTC组件技术仅在IE浏览器中得到支持,并且在IE浏览器中广泛使用,然而其他浏览器均不支持HTC组件引入方法,那么其他浏览器如果要兼容HTC组件技术,就意味着需要引入与HTC组件文件相同的功能的高级组件文件。
具体地,获取原始组件引入方法的多个子文件,根据原始组件新建一个JS文件,执行修改操作和引入操作。其中,修改操作是指将HTC文件修改为JS文件,将HTC文件特有的方法和属性转换为JS文件的方法和属性;引入操作是指在引入的地方将HTC引入方式修改为JS标签引入方式。
其中,新建JS文件包含多个重新定义的公用逻辑方法:
(1)、定义监听事件方法。具体是在监听到高级浏览器的页面加载完成之后,获取页面的多个标签节点并赋值给变量,接着对变量中的多个标签节点进行循环处理,并上传到初始化方法中。
(2)、定义初始化方法。具体是把所有JS逻辑都包含在里面,相当于当查找到页面的HTC组件标签才会执行相关逻辑。
(3)、定义变量转换方法。具体是把HTC组件的标签中,将属性转化为变量,同时预设初始化变量,比如字标签的名称。
(4)、定义子节点的获取方法。具体是获取包含子节点的所有标签字符串的数组,子节点的标签字符串包含自定义标签添加的自闭合标签,再通过正则表达式去掉自闭合标签,获取子节点。当存在多个自定义标签时,通过循环的方式把所有子节点的标签字符串进行匹配,以获取不包含自闭合标签的子节点。
(5)、定义标签匹配的方法。具体是获取子节点的同时,把自定义标签中属性都一起用正则表达式匹配出来,并把属性名和值存储到数组中。
(6)、定义根节点属性的方法。具体是在初始化方法中,定义一个能够生成根节点的所有属性对应的变量的方法,将HTC节点作为输入参数,输出该节点的所有属性并赋值变量,然后对变量进行轮循,生成包含属性名称和属性值的与节点个数对应的字符串,再将字符串转换为新的变量,以供调用。
(7)、定义事件绑定的方法。具体是在HTC组件节点绑定事件的基础上,添加事件监听,用来监听HTC组件节点绑定的事件。
(8)、定义兼容HTC组件的JS组件方法。具体是复制HTC组件中文本标签节点的内容,粘贴到同名的JS文件中,生成兼容高级浏览器的JS文件。
(9)、定义动态引入方法。具体是判断页面是否用到HTC组件,获取页面的所有元素并赋值给变量,对此变量进行变轮循处理,通过正则表达式匹配元素对应的数组;接着对元素对应的数组进行轮循处理,再次通过正则表达式匹配组件名称,并赋值给新的数组变量;最后对新的数组变量进行轮循,动态创建文本节点,以把新的数组变量的名称相对应的JS文件引入到页面。
S1606、将修改后的组件文件引入方法重新封装,得到高级组件引入方法。
需要说明的是,组件文件是包含脚本和HTC定制元素的集合,对应的,修改后的原始组件引入方法也包含修改后的脚本和修改后的HTC定制元素。为了和原始组件引入方法保持一致,将修改后的组件文件引入方法重新封装,得到与高级浏览器匹配的高级组件引入方法。
本申请实施例中,通过引入高级浏览器的组件文件,能够实现高级浏览器对网页***的HTC组件文件技术的兼容。
在获取高级调用方法时,一般地通过对多个开发技术进行处理,以实现网页***在浏览器运行环境中的兼容。基于此,下面通过一个实施例对基于客户端文件上传技术开发的高级客户端文件上传方法的获取方式进行说明。
在一个实施例中,如图17所示,原始调用方法包括原始客户端文件上传方法,根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法,包括:
S1702、获取高级浏览器的标签文件夹。
其中,标签文件夹是能够在高级浏览器的环境下运行,能够实现客户端文件上传功能的多个脚本文件生成的文件夹。
S1704、根据高级浏览器的标签文件夹对网页***的原始客户端上传方法进行覆盖处理。
其中,客户端文件上传方法是指根据客户端上传工具(比如SWFUpload),整合Flash与JavaScript技术为Web开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。
以原始浏览器为IE浏览器为例,客户端文件上传工具是使用了Flash技术上传图片,然而除了IE浏览器,其他浏览器均不再支持Flash技术上传图片,那么就需要在高级浏览器中,对需要执行文件上传功能的页面进行修改,以兼容客户端上传工具。
具体地,设置浏览器为高级浏览器、执行页面需要文件上传功能两个预设条件,根据网页***的页面与预设条件进行判断,当网页***的页面满足预设条件时,将高级浏览器的标签文件夹替换掉原始的Flash技术,实现客户端文件的读取以及上传;当网页***的页面无法满足预设条件时,表明网页***所在的浏览器支持Flash技术,那么也就无需对上传工具进行修改,就能够实现客户端文件的上传。
S1706、将覆盖处理后的原始客户端上传方法进行封装,得到高级客户端上传方法。
其中,覆盖后的原始客户端文件就是高级浏览器的标签文件夹,通过对高级浏览器的标签文件进行封装,能够满足高级浏览器的客户端上传方法,将满足高级浏览器的客户端上传方法作为高级客户端上传方法。
本申请实施例中,通过高级浏览器的标签文件覆盖原始客户端上传方法,能够实现高级浏览器对客户端上传方法的兼容。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的网页***运行装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网页***运行装置实施例中的具体限定可以参见上文中对于网页***运行方法的限定,在此不再赘述。
在一个实施例中,如图18所示,提供了一种网页***运行装置1800,包括指令输出模块1802和页面运行模块1804,其中:
指令输出模块1802,用于响应于网页***的运行请求,通过执行兼容脚本库输出网页***在目标浏览器中的运行接口指令;目标浏览器表示网页***当前请求运行浏览器;兼容脚本库是根据网页***在多个不同类型浏览器中的所有调用方法生成的库文件。
页面运行模块1804,用于根据运行接口指令,在目标浏览器中运行网页***。
在一个实施例中,指令输出模块1802,包括:
第一获取单元,用于通过执行兼容脚本库获取目标浏览器的类别;
第一输出单元,用于根据目标浏览器的类别,输出网页***在目标浏览器中的运行接口指令。
在一个实施例中,第一获取单元,包括:
第一获取子单元,用于获取目标浏览器的类型和版本号;
第一确定子单元,用于若类型为预设的浏览器类型且版本号属于预设的版本号,则确定目标浏览器为原始浏览器;否则,确定目标浏览器为高级浏览器。
在一个实施例中,第一输出单元,包括:
第二获取子单元,用于若目标浏览器的类别为原始浏览器,则在兼容脚本库中获取网页***在原始浏览器中的所有原始调用方法;
第一输出子单元,用于根据各原始调用方法,输出网页***在原始浏览器中的运行接口指令。
在一个实施例中,第一输出单元,还包括:
第三获取子单元,用于若目标浏览器的类别为高级浏览器,则在兼容脚本库中获取网页***在高级浏览器中的所有高级调用方法;
第二输出子单元,用于根据各高级调用方法,输出网页***在高级浏览器中的运行接口指令。
在一个实施例中,第二获取子单元还用于获取网页***在高级浏览器中运行页面的功能;根据运行页面的功能,对各高级调用方法进行拼接,以生成网页***在高级浏览器中的运行接口指令。
在一个实施例中,网页***运行装置1800,还包括:
功能获取模块,用于获取高级浏览器所支持的功能特性。
调用生成模块,用于根据高级浏览器所支持的功能特性,对网页***的各原始调用方法进行重新封装,生成各原始调用方法对应的高级调用方法。
在一个实施例中,调用生成模块,包括:
第二获取单元,用于获取高级浏览器的语法标准;
第三获取单元,用于根据高级浏览器的语法标准重新定义网页***的原始脚本方法,得到重新定义后的原始脚本方法;
第四获取单元,用于将重新定义后的原始脚本方法进行封装,得到高级脚本方法。
在一个实施例中,第三获取单元,包括;
第四获取子单元,用于针对任一种子脚本方法,依次获取子脚本方法中各参数,并通过高级浏览器的语法标准重新对参数进行定义,形成定义后的各参数;
第五获取子单元,用于根据子脚本方法中各参数之间的逻辑关系,将定义后的各参数进行封装,得到重新定义后的子脚本方法。
在一个实施例中,第四获取子单元包括公用方法脚本方法、库属性脚本方法、元素兼容脚本方法、事件兼容脚本方法、表单选取脚本方法、节点获取脚本方法、字符串处理脚本方法、运行***属性脚本方法中至少一个。
在一个实施例中,调用生成模块,还包括:
第一构建单元,用于在网页***的原始层叠样式表方法基础上,构建高级浏览器支持的高级层叠样式表方法;
第五获取单元、用于根据高级浏览器的样式标准封装高级层叠样式表方法,得到高级层叠样式表方法。
在一个实施例中,调用生成模块,还包括:
第六获取单元、用于获取高级浏览器中插件功能的调用标准;插件功能包括读取数据功能、发送请求功能和拍照功能;
第一定义单元、用于根据插件功能的调用标准重新定义网页***的原始插件方法;
第七获取单元、用于将重新定义后的原始插件方法进行封装,得到高级插件方法。
在一个实施例中,调用生成模块,还包括:
第八获取单元、用于获取网页***的矢量图像节点、高级浏览器的矢量图像绘制标准;
第九获取单元、用于根据高级浏览器的矢量图像绘制标准重新生成网页***的绘制节点方法;
第十获取单元、用于将重新生成的绘制节点方法进行封装,得到高级绘制图表方法。
在一个实施例中,调用生成模块,还包括:
第十一获取单元、用于获取网页***的组件文件、高级浏览器的风格样式;
第一处理单元、用于根据高级浏览器的风格样式修改网页***的原始组件引入方法;
第十二获取单元、用于将修改后的组件文件引入方法重新封装,得到高级组件引入方法。
在一个实施例中,调用生成模块,还包括:
第十三获取单元、用于获取高级浏览器的标签文件夹;
第二处理单元、用于根据高级浏览器的标签文件夹对网页***的原始客户端上传方法进行覆盖处理;
第十四获取单元、用于将覆盖处理后的原始客户端上传方法进行封装,得到高级客户端上传方法。
上述网页***运行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图19所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网页***运行方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述任一实施例中提供的网页***运行方法的技术方案。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中提供的网页***运行方法的技术方案。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一实施例中提供的网页***运行方法的技术方案。
上述实施例提供的一种计算机程序产品,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种网页***运行方法,其特征在于,所述方法包括:
响应于网页***的运行请求,通过执行兼容脚本库输出所述网页***在目标浏览器中的运行接口指令;所述目标浏览器表示所述网页***当前请求运行浏览器;所述兼容脚本库是根据所述网页***在多个不同类型浏览器中的所有调用方法生成的库文件;
根据所述运行接口指令,在所述目标浏览器中运行所述网页***;
其中,所述目标浏览器为原始浏览器或高级浏览器;所述目标浏览器的类别的获取方式为:
获取所述目标浏览器的类型和版本号;
若所述类型为预设的浏览器类型且所述版本号属于预设的版本号,则确定所述目标浏览器为原始浏览器;否则,确定所述目标浏览器为高级浏览器;
其中,若所述目标浏览器的类别为高级浏览器,所述方法还包括:
获取所述高级浏览器所支持的功能特性;
根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法;
其中,所述原始调用方法包括原始脚本方法,所述根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法,包括:
获取所述高级浏览器的语法标准;
根据所述高级浏览器的语法标准重新定义所述网页***的原始脚本方法,得到重新定义后的原始脚本方法;
将所述重新定义后的原始脚本方法进行封装,得到高级脚本方法。
2.根据权利要求1所述的方法,其特征在于,所述通过执行兼容脚本库输出所述网页***在目标浏览器中的运行接口指令,包括:
通过执行所述兼容脚本库获取所述目标浏览器的类别;
根据所述目标浏览器的类别,输出所述网页***在目标浏览器中的运行接口指令。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标浏览器的类别信息,输出所述网页***在目标浏览器中的运行接口指令,包括:
若所述目标浏览器的类别为原始浏览器,则在所述兼容脚本库中获取所述网页***在所述原始浏览器中的所有原始调用方法;
根据各所述原始调用方法,输出所述网页***在所述原始浏览器中的运行接口指令。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标浏览器的类别信息,输出所述网页***在目标浏览器中的运行接口指令,包括:
若所述目标浏览器的类别为高级浏览器,则在所述兼容脚本库中获取所述网页***在所述高级浏览器中的所有高级调用方法;
根据各所述高级调用方法,输出所述网页***在所述高级浏览器中的运行接口指令。
5.根据权利要求4所述的方法,其特征在于,所述根据各所述高级调用方法,输出所述网页***在所述高级浏览器中的运行接口指令,包括:
获取所述网页***在所述高级浏览器中运行页面的功能;
根据所述运行页面的功能,对各所述高级调用方法进行拼接,以生成所述网页***在所述高级浏览器中的运行接口指令。
6.根据权利要求1所述的方法,其特征在于,所述原始脚本方法包括多种子脚本方法,且每个子脚本方法中包括多个参数,所述根据所述高级浏览器的语法标准重新定义所述网页***的原始脚本方法,包括:
针对任一种子脚本方法,依次获取所述子脚本方法中各参数,并通过所述高级浏览器的语法标准重新对所述参数进行定义,形成定义后的各参数;
根据所述子脚本方法中各参数之间的逻辑关系,将定义后的各参数进行封装,得到重新定义后的子脚本方法。
7.根据权利要求6所述的方法,其特征在于,所述多种子脚本方法包括公用方法脚本方法、库属性脚本方法、元素兼容脚本方法、事件兼容脚本方法、表单选取脚本方法、节点获取脚本方法、字符串处理脚本方法、运行***属性脚本方法中至少一个。
8.根据权利要求1所述的方法,其特征在于,所述原始调用方法还包括原始层叠样式表方法,所述根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法,还包括:
在所述网页***的原始层叠样式表方法基础上,构建所述高级浏览器支持的高级层叠样式表方法;
根据所述高级浏览器的样式标准封装所述高级层叠样式表方法,得到高级层叠样式表方法。
9.根据权利要求1所述的方法,其特征在于,所述原始调用方法还包括原始插件方法,所述根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法,还包括:
获取所述高级浏览器中插件功能的调用标准;所述插件功能包括读取数据功能、发送请求功能和拍照功能;
根据所述插件功能的调用标准重新定义所述网页***的原始插件方法;
将重新定义后的原始插件方法进行封装,得到高级插件方法。
10.根据权利要求1所述的方法,其特征在于,所述原始调用方法包括还原始绘制图表方法,所述根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法,还包括:
获取所述网页***的矢量图像节点、所述高级浏览器的矢量图像绘制标准;
根据所述高级浏览器的矢量图像绘制标准重新生成所述网页***的绘制节点方法;
将重新生成的绘制节点方法进行封装,得到高级绘制图表方法。
11.根据权利要求1所述的方法,其特征在于,所述原始调用方法还包括原始组件引入方法,所述根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法,还包括:
获取所述网页***的组件文件、所述高级浏览器的风格样式;
根据所述高级浏览器的风格样式修改所述网页***的原始组件引入方法;
将修改后的组件文件引入方法重新封装,得到高级组件引入方法。
12.根据权利要求1所述的方法,其特征在于,所述原始调用方法还包括原始客户端文件上传方法,所述根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法,还包括:
获取所述高级浏览器的标签文件夹;
根据所述高级浏览器的标签文件夹对所述网页***的原始客户端上传方法进行覆盖处理;
将覆盖处理后的原始客户端上传方法进行封装,得到高级客户端上传方法。
13.一种网页***运行装置,其特征在于,所述装置包括:
指令输出模块,用于响应于网页***的运行请求,通过执行兼容脚本库输出所述网页***在目标浏览器中的运行接口指令;所述目标浏览器表示所述网页***当前请求运行浏览器;所述兼容脚本库是根据所述网页***在多个不同类型浏览器中的所有调用方法生成的库文件;
页面运行模块,用于根据所述运行接口指令,在所述目标浏览器中运行所述网页***;
其中,所述目标浏览器为原始浏览器或高级浏览器;所述目标浏览器的类别的获取方式为:
获取所述目标浏览器的类型和版本号;
若所述类型为预设的浏览器类型且所述版本号属于预设的版本号,则确定所述目标浏览器为原始浏览器;否则,确定所述目标浏览器为高级浏览器;
其中,若所述目标浏览器的类别为高级浏览器,网页***运行装置,还包括:
功能获取模块,用于获取所述高级浏览器所支持的功能特性;
调用生成模块,用于根据所述高级浏览器所支持的功能特性,对所述网页***的各原始调用方法进行重新封装,生成各所述原始调用方法对应的高级调用方法;
其中,所述原始调用方法包括原始脚本方法,调用生成模块,包括:
第二获取单元,用于获取所述高级浏览器的语法标准;
第三获取单元,用于根据所述高级浏览器的语法标准重新定义所述网页***的原始脚本方法,得到重新定义后的原始脚本方法;
第四获取单元,用于将所述重新定义后的原始脚本方法进行封装,得到高级脚本方法。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310856138.0A CN116595284B (zh) | 2023-07-13 | 2023-07-13 | 网页***运行方法、装置、设备、存储介质和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310856138.0A CN116595284B (zh) | 2023-07-13 | 2023-07-13 | 网页***运行方法、装置、设备、存储介质和程序 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116595284A CN116595284A (zh) | 2023-08-15 |
CN116595284B true CN116595284B (zh) | 2023-10-03 |
Family
ID=87606578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310856138.0A Active CN116595284B (zh) | 2023-07-13 | 2023-07-13 | 网页***运行方法、装置、设备、存储介质和程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116595284B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460670A (zh) * | 2010-12-10 | 2013-12-18 | 韦斯技术有限公司 | 用于利用http处理器和远程桌面客户端通用接口来进行远程桌面会话的方法和*** |
CN103886029A (zh) * | 2014-03-03 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 网页应用的实现方法、装置、服务器及*** |
CN107066496A (zh) * | 2016-12-29 | 2017-08-18 | 重庆南华中天信息技术有限公司 | 一种兼容不同浏览器和终端设备的页面访问方法 |
CN109144567A (zh) * | 2018-08-03 | 2019-01-04 | 苏州麦迪斯顿医疗科技股份有限公司 | 跨平台的网页渲染方法、装置、服务器及存储介质 |
CN109542501A (zh) * | 2018-10-25 | 2019-03-29 | 平安科技(深圳)有限公司 | 浏览器表格兼容方法、装置、计算机设备及存储介质 |
CN109871202A (zh) * | 2018-12-12 | 2019-06-11 | 江苏中威科技软件***有限公司 | 一种移动端应用混合开发方法及框架 |
CN110083383A (zh) * | 2019-03-18 | 2019-08-02 | 平安普惠企业管理有限公司 | 浏览器式样兼容方法、装置、计算机设备及存储介质 |
CN110245291A (zh) * | 2019-05-23 | 2019-09-17 | 广州至真信息科技有限公司 | 一种业务数据的显示方法、装置、计算机设备和存储介质 |
CN111444455A (zh) * | 2020-03-25 | 2020-07-24 | 平安医疗健康管理股份有限公司 | 浏览器兼容方法、***、计算机设备及存储介质 |
CN111695076A (zh) * | 2020-06-15 | 2020-09-22 | 荆门汇易佳信息科技有限公司 | 基于超文本5的跨浏览器网页兼容标准构建方法 |
CN112507260A (zh) * | 2020-12-15 | 2021-03-16 | 平安国际智慧城市科技股份有限公司 | 网页加载方法及装置、电子设备、计算机可读存储介质 |
CN114448722A (zh) * | 2022-03-15 | 2022-05-06 | 太平金融科技服务(上海)有限公司深圳分公司 | 跨浏览器登录方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120192155A1 (en) * | 2011-01-20 | 2012-07-26 | Microsoft Corporation | Code advisor for web compatibility and interoperability |
US9891727B2 (en) * | 2012-03-08 | 2018-02-13 | Google Llc | Simulating multi-touch events on a browser system |
-
2023
- 2023-07-13 CN CN202310856138.0A patent/CN116595284B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460670A (zh) * | 2010-12-10 | 2013-12-18 | 韦斯技术有限公司 | 用于利用http处理器和远程桌面客户端通用接口来进行远程桌面会话的方法和*** |
CN103886029A (zh) * | 2014-03-03 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 网页应用的实现方法、装置、服务器及*** |
CN107066496A (zh) * | 2016-12-29 | 2017-08-18 | 重庆南华中天信息技术有限公司 | 一种兼容不同浏览器和终端设备的页面访问方法 |
CN109144567A (zh) * | 2018-08-03 | 2019-01-04 | 苏州麦迪斯顿医疗科技股份有限公司 | 跨平台的网页渲染方法、装置、服务器及存储介质 |
CN109542501A (zh) * | 2018-10-25 | 2019-03-29 | 平安科技(深圳)有限公司 | 浏览器表格兼容方法、装置、计算机设备及存储介质 |
CN109871202A (zh) * | 2018-12-12 | 2019-06-11 | 江苏中威科技软件***有限公司 | 一种移动端应用混合开发方法及框架 |
CN110083383A (zh) * | 2019-03-18 | 2019-08-02 | 平安普惠企业管理有限公司 | 浏览器式样兼容方法、装置、计算机设备及存储介质 |
CN110245291A (zh) * | 2019-05-23 | 2019-09-17 | 广州至真信息科技有限公司 | 一种业务数据的显示方法、装置、计算机设备和存储介质 |
CN111444455A (zh) * | 2020-03-25 | 2020-07-24 | 平安医疗健康管理股份有限公司 | 浏览器兼容方法、***、计算机设备及存储介质 |
CN111695076A (zh) * | 2020-06-15 | 2020-09-22 | 荆门汇易佳信息科技有限公司 | 基于超文本5的跨浏览器网页兼容标准构建方法 |
CN112507260A (zh) * | 2020-12-15 | 2021-03-16 | 平安国际智慧城市科技股份有限公司 | 网页加载方法及装置、电子设备、计算机可读存储介质 |
CN114448722A (zh) * | 2022-03-15 | 2022-05-06 | 太平金融科技服务(上海)有限公司深圳分公司 | 跨浏览器登录方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于栅矢结合的WebGIS脚本库设计与实现;钟伟雄;;电脑知识与技术(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116595284A (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220253588A1 (en) | Page processing method and related apparatus | |
CN110489116B (zh) | 一种页面的渲染方法、装置及计算机存储介质 | |
CN110908712A (zh) | 移动端跨平台的数据处理方法和设备 | |
CN111221530B (zh) | 移动端Web应用界面构建方法、Web应用界面及其操作方法 | |
CN112363794A (zh) | 一种前端列表类组件的渲染方法及电子设备 | |
CN113032708A (zh) | 一种无代码Web开发*** | |
KR101552914B1 (ko) | 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체 | |
CN116974620A (zh) | 应用程序的生成方法、运行方法以及相应的装置 | |
CN117093386B (zh) | 页面截图方法、装置、计算机设备和存储介质 | |
CN111435313A (zh) | 一种软件换肤的方法及装置 | |
CN117762519A (zh) | 组件管理方法、装置、计算机设备和存储介质 | |
CN111367514A (zh) | 页面卡片的开发方法和装置、计算设备和存储介质 | |
CN117055987A (zh) | 网页显示方法、装置、电子设备及计算机可读存储介质 | |
CN116595284B (zh) | 网页***运行方法、装置、设备、存储介质和程序 | |
CN115994517A (zh) | 信息处理方法、装置、存储介质、设备及程序产品 | |
CN112486378B (zh) | 图形生成方法、装置、终端及存储介质 | |
CN113190509A (zh) | 动画处理方法、装置、电子设备及计算机可读存储介质 | |
CN112182458B (zh) | 一种页面数据处理方法及装置 | |
CN111367515B (zh) | 页面卡片的开发方法、装置、计算设备和存储介质 | |
CN111694723B (zh) | 产品在h5下运行时对节点及组件编辑的方法、存储介质 | |
CN115344252A (zh) | 可视化大屏的生成方法、装置及存储介质 | |
CN118094031A (zh) | 子应用页面处理方法、装置、计算机设备和存储介质 | |
CN113918194A (zh) | 一种页面组件的显示方法、装置、电子设备及存储介质 | |
CN116302026A (zh) | 应用程序智能刷新方法、装置、计算机设备和存储介质 | |
CN116680489A (zh) | 一种svg图像颜色的修改方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |