CN110298000A - 页面参数的获取方法、终端设备及介质 - Google Patents
页面参数的获取方法、终端设备及介质 Download PDFInfo
- Publication number
- CN110298000A CN110298000A CN201910422572.1A CN201910422572A CN110298000A CN 110298000 A CN110298000 A CN 110298000A CN 201910422572 A CN201910422572 A CN 201910422572A CN 110298000 A CN110298000 A CN 110298000A
- Authority
- CN
- China
- Prior art keywords
- page
- code
- party
- script
- plug
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明适用于开发技术领域,提供了一种页面参数的获取方法、终端设备及介质,该方法包括:获取移动应用的后台逻辑代码,并检测存在于后台逻辑代码中的触发点,触发点用于启动加载第三方H5页面;在后台逻辑代码中,定位触发点所属的代码区域,并在代码区域之前添加预设的埋点代码;在移动应用的运行过程中,若检测到关于埋点代码的执行指令,则获取第三方H5页面的源代码,并停止加载移动应用的WebView;将预存储的插件脚本添加于源代码;启动WebView对第三方H5页面进行渲染,并基于插件脚本获取第三方H5页面的页面参数。本发明能够以高性能的JS脚本来自动监听第三方H5页面的页面参数,在保证了系统性能稳定的情况下,提高了对第三方H5页面的参数获取效率。
Description
技术领域
本发明属于开发技术领域,尤其涉及一种页面参数的获取方法、终端设备及计算机可读存储介质。
背景技术
随着互联网技术的不断发展,为了使得移动设备能够更为灵活地支持各类多媒体、便于开发人员制作网页互动效果,目前,万维网联盟已制定完成了关于超文本标记语言(Hyper Text Mark-up Language,Html)5的标准规范。
Html5经常被用于开发移动应用的网页web页面,此类页面为H5页面。在移动应用的项目开发过程中,为了提高开发效率,部分页面功能可能不会由自己开发,而是直接将第三方H5页面集成到应用项目中。因此,若想要监听获取第三方H5页面的各类相关参数,则只能通过录屏形式来还原用户对H5页面的交互操作过程,进而再通过人工分析视频数据的方式来进行参数提取。然而,这种方式需要捕获大量的录屏数据,且还原过程需要消耗较大的系统性能,由此导致了H5页面的参数获取效率较为低下。
发明内容
有鉴于此,本发明实施例提供了一种页面参数的获取方法、终端设备及计算机可读存储介质,以解决现有技术中,H5页面的参数获取效率较为低下的问题。
本发明实施例的第一方面提供了一种页面参数的获取方法,包括:
获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,所述触发点用于启动加载第三方H5页面;
在所述后台逻辑代码中,定位所述触发点所属的代码区域,并在所述代码区域之前添加预设的埋点代码;
在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图 WebView;
将预存储的插件脚本添加于所述源代码;所述插件脚本包括用于监听H5 页面参数的控制逻辑;
启动所述WebView对所述第三方H5页面进行渲染,并基于所述插件脚本获取所述第三方H5页面的页面参数。
本发明实施例的第二方面提供了一种页面参数的获取装置,包括:
第一获取单元,用于获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,所述触发点用于启动加载第三方H5页面;
定位单元,用于在所述后台逻辑代码中,定位所述触发点所属的代码区域,并在所述代码区域之前添加预设的埋点代码;
第二获取单元,用于在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图WebView;
添加单元,用于将预存储的插件脚本添加于所述源代码;所述插件脚本包括用于监听H5页面参数的控制逻辑;
渲染单元,用于启动所述WebView对所述第三方H5页面进行渲染,并基于所述插件脚本获取所述第三方H5页面的页面参数。
本发明实施例的第三方面提供了一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述页面参数的获取方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现如上述页面参数的获取方法的步骤。
本发明实施例中,通过在移动应用的后台逻辑代码中,预先检测出用于启动第三方H5页面的触发点,并在其所属的代码区域之前执行埋点操作,使得在移动应用在运行过程中,能够基于埋点代码来自动执行对第三方H5页面源代码的脚本注入,由此保证了脚本注入完成后的移动应用在后续运行加载该第三方H5页面时,能够以高性能的JS脚本来自动监听第三方H5页面的页面参数。本发明实施例中,由于页面参数的获取过程无须再捕获大量的录屏数据,因而在保证了系统性能稳定的情况下,提高了对第三方H5页面的参数获取效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的页面参数的获取方法的实现流程图;
图2是本发明实施例提供的页面参数的获取方法S103的具体实现流程图;
图3是本发明实施例提供的页面参数的获取方法S104的具体实现流程图;
图4是本发明实施例提供的页面参数的获取方法S1042的具体实现流程图;
图5是本发明实施例提供的页面参数的获取装置的结构框图;
图6是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的页面参数的获取方法的实现流程,上述实现流程包括步骤S101至S105。各步骤的具体实现原理如下:
S101:获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,所述触发点用于启动加载第三方H5页面。
本发明实施例中,在用户开发每一个移动应用的过程中,将会输入用于实现各项功能的程序代码,则各类程序代码的集合为移动应用的后台逻辑代码。
对于待测试的移动应用,在运行该移动应用之前,加载与其关联的各段后台逻辑代码。对每一段后台逻辑代码,判断该段后台逻辑代码中是否存在用于启动加载第三方H5页面的触发点。若判断结果为是,则执行步骤S102;若判断结果为否,则加载并执行下一段后台逻辑代码,并返回上述判断该段后台逻辑代码中是否存在用于启动加载第三方H5页面的触发点的步骤。
其中,第三方H5页面表示由外部人员所开发的H5页面。具体地,上述判断该段后台逻辑代码中是否存在用于启动加载第三方H5页面的触发点的步骤,包括:获取预先安装的各个本地插件的插件标识;若该段后台逻辑代码中未包含有用于调用外部页面的参数标识,或者,其调用的外部页面的参数标识与任意一个插件标识匹配,则表示该段后台逻辑代码段内集成有用户开发的插件,其所需匹配加载的页面为本地H5页面,因此,确定该段后台逻辑代码中不存在上述触发点。若该段后台逻辑代码中包含有用于调用外部页面的参数标识,且其调用的外部页面的参数标识与每一插件标识均不匹配,则表示该段后台逻辑代码段所需加载的页面为第三方H5页面,因此,确定该段后台逻辑代码中存在上述触发点。
本发明实施例中,对确定出的触发点进行标记。
S102:在所述后台逻辑代码中,定位所述触发点所属的代码区域,并在所述代码区域之前添加预设的埋点代码。
本发明实施例中,依序遍历并执行移动应用的后台逻辑代码。根据预设的标记信息,查找出上述已标记的触发点所属的代码区域,并在该代码区域之前执行埋点。即,在该代码区域之前植入预设的埋点代码。其中,该埋点代码用于触发第三方H5页面的插件注入事件。此时,在移动应用的运行过程中,内置的native框架能够基于埋点代码来确定当前是否需要使用网络视图webview 来打开第三方H5页面。
作为本发明的一个实施示例,在定位触发点所属的代码区域后,根据接收到的代码录入指令,实时获取开发人员所输入的埋点代码,以将该埋点代码添加于定位出的代码区域之前的位置区域。
作为本发明的另一个实施示例,上述在代码区域之前执行埋点的操作,具体包括:根据预设的埋点脚本和与埋点脚本相配合的插件,自动生成对应于各个埋点的埋点代码和埋点规则。在代码区域之前执行埋点操作时,获取与埋点规则相匹配的编译插件,并通过该编译插件对当前所生成的埋点代码进行编译处理,以在编译通过时,将埋点代码插入至移动应用的该代码区域中。其中,埋点代码和对应于业务开发的后台逻辑代码相分离。通过利用埋点规则来检测及编译埋点代码,使得埋点代码的引入扩展性更强,实现了对移动应用的自动化埋点操作。并且,由于自动埋点没有人工干预,故提高了埋点准确率的同时也降低了操作繁琐度。
S103:在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图WebView。
一般情况下,在移动应用的运行过程中,依序加载并执行与移动应用关联的各行后台逻辑代码。若检测到当前所执行的后台逻辑代码中存在上述触发点,则表示预置的native框架将要启动Webview来加载第三方H5页面。而本发明实施例中,在移动应用运行时,若检测到当前所执行的后台逻辑代码中存在埋点代码,则触发对其关联的第三方H5页面的插件脚本注入事件。其中,插件脚本包括用于监听H5页面参数的控制逻辑。页面参数包括但不限于资源获取信息、本地资源加载信息、文档渲染信息以及相关执行脚本信息等。
本发明实施例中,在触发对第三方H5页面的插件脚本注入事件之前,先令预设的native框架停止启动WebView,从而阻止对第三方H5页面的自动加载。具体地,由于H5页面需要依靠移动应用原生native的方法来执行,并使其在移动应用内置的webview中渲染才能打开,因此,为了避免第三方H5页面的自动加载,可执行预先建立的、用于阻止页面渲染的代码模块。
作为本发明的一个示例,如图2所示,上述步骤S103具体包括:
S1031:在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的统一资源定位符URL。
S1032:将所述URL输入为视图控制函数中的条件参数,以在检测到待加载页面的URL与所述条件参数匹配时,基于所述视图控制函数停止加载所述移动应用的网络视图WebView。
本发明实施例中,上述预先建立的视图控制函数可以是,通过shouldOverrideUrlLoading方法,获取当前即将要加载的第三方H5页面的统一资源标识符(Uniform Resource Locator,URL),并判断该URL是否存在于 URL过滤列表中;若是,则返回不处理,从而实现停止对第三方H5页面的渲染。其中,URL过滤列表存储有上述实时获取得到的第三方H5页面的URL,则本发明示例中的条件参数为上述URL过滤列表所包含的各个URL。
S104:将预存储的插件脚本添加于所述源代码;所述插件脚本包括用于监听H5页面参数的控制逻辑。
本发明实施例中,根据第三方H5页面的URL,查询与该URL匹配的网络资源服务器,并向网络资源服务器发出源码下载请求,以获取第三方H5页面的源代码。将预先获取得到的插件脚本添加于源代码中,从而完成自动化的插件脚本注入事件。
作为本发明的一个实施例,图3示出了本发明实施例提供的页面参数的获取方法S104的具体实现流程,详述如下:
S1041:对所述第三方H5页面的源代码进行分析处理,定位所述源代码中所存在的预设页面标签对,所述预设页面标签对包括先后出现的第一页面标签以及第二页面标签。
S1042:将预存储的插件脚本添加于所述第一页面标签与所述第二页面标签之间的代码区域。
本发明实施例中,通过预设的Native框架对第三方H5页面的源代码进行检测处理,以检测到源代码中是否存在预设的页面标签对。其中,上述预设的页面标签对为<html>及</html>。为了便于区分,在每一对页面标签对<html>及 </html>中,在先出现的<html>称为第一页面标签,在后出现的</html>称为第二页面标签。
具体地,分别获取与上述第一页面标签相匹配的第一正则表达式以及与上述第二页面标签相匹配的第二正则表达式。对第三方H5页面中的每一行源代码,判断其是否满足第一正则表达式或第二正则表达式。若任意一行源代码满足第一正则表达式,则表示该行源代码中包含有第一页面标签<html>;若任意一行源代码满足第二正则表达式,则表示该行源代码中包含有第二页面标签 <html>。
本发明实施例中,确定出第一页面标签<html>以及第二页面标签</html>在代码区域中所分别对应的第一位置点以及第二位置点。将预先获取得到的插件脚本添加于第一位置点以及第二位置点之间的代码区域。
优选地,在将预先获取得到的插件脚本添加于第一位置点以及第二位置点之间的代码区域时,先获取插件脚本的来源地址,将携带该来源地址的脚本标签添加至第一位置点以及第二位置点之间的代码区域。例如,将第三方H5页面的<script src=“插件脚本的来源地址”></script>标签执行添加处理。
作为本发明的一个实施例,图4示出了本发明实施例提供的页面参数的获取方法S1042的具体实现流程,详述如下:
S10421:若所述源代码中所存在的所述预设页面标签对的数目为两对以上,则确定出排序最后的所述预设页面标签对。
S10422:在确定出的所述预设页面标签对中,定位所述第二页面标签。
S10423:将预存储的插件脚本添加于所述第二页面标签之前的代码区域。
在实际场景中,由于第三方H5页面的源代码可能包括两对以上的预设页面标签对,因此,在通过Native框架来检测源代码中是否存在预设的页面标签对时,先确定检测出的预设页面标签对的数目。若源代码中所存在的预设页面标签对的数目为两对以上,则定位代码区域中最后出现的第二页面标签</html>,并查找与该第二页面标签相配对的第一页面标签<html>。该第一页面标签及其配对的第二页面标签为排序最后的预设页面标签对。
本发明实施例中,将预存储的插件脚本添加于排序最后的预设页面标签对之间。优选地,将插件脚本插入于最后出现的第二页面标签</html>之前,且令插件脚本所属位置点与该第二页面标签所属位置点的距离最小。
本发明实施中,仅在检测到源代码中最后一个出现的第二页面标签</html> 时,才将插件脚本注入至该页面标签之前的邻近位置点,避免了在第三方H5 页面还没有加载完成的情况下,因运行插件脚本而导致无法找到页面文档元素的情况出现;同时,在移动应用在后续运行过程中,也不会因插件脚本的优先加载而导致第三方H5页面出现渲染缓慢的问题。因此,通过将插件脚本添加于源代码的末端,能够降低对第三方H5页面加载速度的影响,提高了移动应用的运行稳定性以及用户体验度。
S105:启动所述WebView对所述第三方H5页面进行渲染,并基于所述插件脚本获取所述第三方H5页面的页面参数。
由于插件脚本包括用于监听H5页面参数的控制逻辑,因此,在运行修改后的第三方H5页面的源代码时,基于已存在的插件脚本,可直接获取并返回该第三方H5页面的页面参数。
优选地,在注入WebView插件脚本后,通过Native来对注入后的插件脚本所关联的第三方H5页面代码进行语法校验。仅在语法检测结果为语法校验成功时,才将插件脚本注入完成后的第三方H5页面的源代码置于WebView中进行渲染,从而保证了在移动应用加载第三方H5页面的同时,能够降低页面错误的出现概率,由此也提高了移动应用的运行稳定性。
本发明实施例中,通过在移动应用的后台逻辑代码中,预先检测出用于启动第三方H5页面的触发点,并在其所属的代码区域之前执行埋点操作,使得在移动应用在运行过程中,能够基于埋点代码来自动执行对第三方H5页面源代码的脚本注入,由此保证了脚本注入完成后的移动应用在后续运行加载该第三方H5页面时,能够以高性能的JS脚本来自动监听第三方H5页面的页面参数。本发明实施例中,由于页面参数的获取过程无须再捕获大量的录屏数据,因而在保证了系统性能稳定的情况下,提高了对第三方H5页面的参数获取效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于本发明实施例所提供的页面参数的获取方法,图5示出了本发明实施例提供的页面参数的获取装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分。
参照图5,该装置包括:
第一获取单元51,用于获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,所述触发点用于启动加载第三方H5页面。
定位单元52,用于在所述后台逻辑代码中,定位所述触发点所属的代码区域,并在所述代码区域之前添加预设的埋点代码。
第二获取单元53,用于在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图WebView。
添加单元54,用于将预存储的插件脚本添加于所述源代码;所述插件脚本包括用于监听H5页面参数的控制逻辑。
渲染单元55,用于启动所述WebView对所述第三方H5页面进行渲染,并基于所述插件脚本获取所述第三方H5页面的页面参数。
可选地,所述添加单元54包括:
分析子单元,用于对所述第三方H5页面的源代码进行分析处理,定位所述源代码中所存在的预设页面标签对,所述预设页面标签对包括先后出现的第一页面标签以及第二页面标签。
添加子单元,用于将预存储的插件脚本添加于所述第一页面标签与所述第二页面标签之间的代码区域。
可选地,所述添加子单元具体用于:
若所述源代码中所存在的所述预设页面标签对的数目为两对以上,则确定出排序最后的所述预设页面标签对;
在确定出的所述预设页面标签对中,定位所述第二页面标签;
将预存储的插件脚本添加于所述第二页面标签之前的代码区域。
可选地,第二获取单元53包括:
第一获取子单元,用于在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的统一资源定位符URL。
输入子单元,用于将所述URL输入为视图控制函数中的条件参数,以在检测到待加载页面的URL与所述条件参数匹配时,基于所述视图控制函数停止加载所述移动应用的网络视图WebView。
可选地,所述第一获取单元51包括:
第二获取子单元,用于获取预先安装的各个所述本地插件的插件标识。
确定子单元,用于对移动应用的每一段后台逻辑代码,若该段后台逻辑代码中包含有用于调用外部页面的参数标识,且所述参数标识与每一所述插件标识均不匹配,则确定该段后台逻辑代码为所述触发点。
本发明实施例中,通过在移动应用的后台逻辑代码中,预先检测出用于启动第三方H5页面的触发点,并在其所属的代码区域之前执行埋点操作,使得在移动应用在运行过程中,能够基于埋点代码来自动执行对第三方H5页面源代码的脚本注入,由此保证了脚本注入完成后的移动应用在后续运行加载该第三方H5页面时,能够以高性能的JS脚本来自动监听第三方H5页面的页面参数。本发明实施例中,由于页面参数的获取过程无须再捕获大量的录屏数据,因而在保证了系统性能稳定的情况下,提高了对第三方H5页面的参数获取效率。
图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如页面参数的获取程序。所述处理器60执行所述计算机程序62时实现上述各个页面参数的获取方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元51 至55的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6 的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种页面参数的获取方法,其特征在于,包括:
获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,所述触发点用于启动加载第三方H5页面;
在所述后台逻辑代码中,定位所述触发点所属的代码区域,并在所述代码区域之前添加预设的埋点代码;
在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图WebView;
将预存储的插件脚本添加于所述源代码;所述插件脚本包括用于监听H5页面参数的控制逻辑;
启动所述WebView对所述第三方H5页面进行渲染,并基于所述插件脚本获取所述第三方H5页面的页面参数。
2.如权利要求1所述的页面参数的获取方法,其特征在于,所述将预存储的插件脚本添加于所述源代码,包括:
对所述第三方H5页面的源代码进行分析处理,定位所述源代码中所存在的预设页面标签对,所述预设页面标签对包括先后出现的第一页面标签以及第二页面标签;
将预存储的插件脚本添加于所述第一页面标签与所述第二页面标签之间的代码区域。
3.如权利要求2所述的页面参数的获取方法,其特征在于,所述将预存储的插件脚本添加于所述第一页面标签与所述第二页面标签之间的代码区域,包括:
若所述源代码中所存在的所述预设页面标签对的数目为两对以上,则确定出排序最后的所述预设页面标签对;
在确定出的所述预设页面标签对中,定位所述第二页面标签;
将预存储的插件脚本添加于所述第二页面标签之前的代码区域。
4.如权利要求1所述的页面参数的获取方法,其特征在于,所述在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图WebView,包括:
在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的统一资源定位符URL;
将所述URL输入为视图控制函数中的条件参数,以在检测到待加载页面的URL与所述条件参数匹配时,基于所述视图控制函数停止加载所述移动应用的网络视图WebView。
5.如权利要求1所述的页面参数的获取方法,其特征在于,所述获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,包括:
获取预先安装的各个所述本地插件的插件标识;
对移动应用的每一段后台逻辑代码,若该段后台逻辑代码中包含有用于调用外部页面的参数标识,且所述参数标识与每一所述插件标识均不匹配,则确定该段后台逻辑代码为所述触发点。
6.一种页面参数的获取装置,其特征在于,包括:
第一获取单元,用于获取移动应用的后台逻辑代码,并检测存在于所述后台逻辑代码中的触发点,所述触发点用于启动加载第三方H5页面;
定位单元,用于在所述后台逻辑代码中,定位所述触发点所属的代码区域,并在所述代码区域之前添加预设的埋点代码;
第二获取单元,用于在所述移动应用的运行过程中,若检测到关于所述埋点代码的执行指令,则获取所述第三方H5页面的源代码,并停止加载所述移动应用的网络视图WebView;
添加单元,用于将预存储的插件脚本添加于所述源代码;所述插件脚本包括用于监听H5页面参数的控制逻辑;
渲染单元,用于启动所述WebView对所述第三方H5页面进行渲染,并基于所述插件脚本获取所述第三方H5页面的页面参数。
7.如权利要求6所述的页面参数的获取装置,其特征在于,所述添加单元包括:
分析子单元,用于对所述第三方H5页面的源代码进行分析处理,定位所述源代码中所存在的预设页面标签对,所述预设页面标签对包括先后出现的第一页面标签以及第二页面标签;
添加子单元,用于将预存储的插件脚本添加于所述第一页面标签与所述第二页面标签之间的代码区域。
8.如权利要求7所述的页面参数的获取装置,其特征在于,所述添加子单元具体用于:
若所述源代码中所存在的所述预设页面标签对的数目为两对以上,则确定出排序最后的所述预设页面标签对;
在确定出的所述预设页面标签对中,定位所述第二页面标签;
将预存储的插件脚本添加于所述第二页面标签之前的代码区域。
9.一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910422572.1A CN110298000A (zh) | 2019-05-21 | 2019-05-21 | 页面参数的获取方法、终端设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910422572.1A CN110298000A (zh) | 2019-05-21 | 2019-05-21 | 页面参数的获取方法、终端设备及介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN110298000A true CN110298000A (zh) | 2019-10-01 |
Family
ID=68026944
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910422572.1A Pending CN110298000A (zh) | 2019-05-21 | 2019-05-21 | 页面参数的获取方法、终端设备及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110298000A (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110781425A (zh) * | 2019-10-25 | 2020-02-11 | 北京创鑫旅程网络技术有限公司 | 移动端h5页面的显示方法、装置、设备及存储介质 |
| CN111177623A (zh) * | 2019-12-23 | 2020-05-19 | 北京健康之家科技有限公司 | 信息处理方法及装置 |
| CN111338960A (zh) * | 2020-02-27 | 2020-06-26 | 中国平安人寿保险股份有限公司 | 埋点数据采集方法及其装置 |
| CN112860543A (zh) * | 2021-01-20 | 2021-05-28 | 维沃移动通信(深圳)有限公司 | 检测页面运行的方法和电子设备 |
| CN113176908A (zh) * | 2021-04-29 | 2021-07-27 | 广州嘉为科技有限公司 | web功能动态扩展并可热插拔方法、系统、设备及介质 |
| CN118295724A (zh) * | 2022-12-28 | 2024-07-05 | 锐捷网络股份有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
| CN120602464A (zh) * | 2025-05-06 | 2025-09-05 | 北京通达信科科技有限公司 | 一种提升H5与Native通信性能的方法和装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104881452A (zh) * | 2015-05-18 | 2015-09-02 | 百度在线网络技术(北京)有限公司 | 一种资源地址的嗅探方法、装置及系统 |
| CN107295050A (zh) * | 2016-04-01 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
| CN109446457A (zh) * | 2018-09-25 | 2019-03-08 | 平安普惠企业管理有限公司 | 页面数据的更新方法、终端设备及介质 |
| CN109710354A (zh) * | 2018-12-13 | 2019-05-03 | 平安普惠企业管理有限公司 | 页面监听方法、页面还原方法、装置、设备及介质 |
-
2019
- 2019-05-21 CN CN201910422572.1A patent/CN110298000A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104881452A (zh) * | 2015-05-18 | 2015-09-02 | 百度在线网络技术(北京)有限公司 | 一种资源地址的嗅探方法、装置及系统 |
| CN107295050A (zh) * | 2016-04-01 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
| CN109446457A (zh) * | 2018-09-25 | 2019-03-08 | 平安普惠企业管理有限公司 | 页面数据的更新方法、终端设备及介质 |
| CN109710354A (zh) * | 2018-12-13 | 2019-05-03 | 平安普惠企业管理有限公司 | 页面监听方法、页面还原方法、装置、设备及介质 |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110781425A (zh) * | 2019-10-25 | 2020-02-11 | 北京创鑫旅程网络技术有限公司 | 移动端h5页面的显示方法、装置、设备及存储介质 |
| CN110781425B (zh) * | 2019-10-25 | 2022-09-20 | 北京创鑫旅程网络技术有限公司 | 移动端h5页面的显示方法、装置、设备及存储介质 |
| CN111177623A (zh) * | 2019-12-23 | 2020-05-19 | 北京健康之家科技有限公司 | 信息处理方法及装置 |
| CN111338960A (zh) * | 2020-02-27 | 2020-06-26 | 中国平安人寿保险股份有限公司 | 埋点数据采集方法及其装置 |
| CN112860543A (zh) * | 2021-01-20 | 2021-05-28 | 维沃移动通信(深圳)有限公司 | 检测页面运行的方法和电子设备 |
| CN113176908A (zh) * | 2021-04-29 | 2021-07-27 | 广州嘉为科技有限公司 | web功能动态扩展并可热插拔方法、系统、设备及介质 |
| CN118295724A (zh) * | 2022-12-28 | 2024-07-05 | 锐捷网络股份有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
| CN120602464A (zh) * | 2025-05-06 | 2025-09-05 | 北京通达信科科技有限公司 | 一种提升H5与Native通信性能的方法和装置 |
| CN120602464B (zh) * | 2025-05-06 | 2026-01-02 | 北京通达信科科技有限公司 | 一种提升H5与Native通信性能的方法和装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110298000A (zh) | 页面参数的获取方法、终端设备及介质 | |
| CN109885311B (zh) | 一种应用程序的生成方法及设备 | |
| CN108052334B (zh) | 页面跳转方法、装置、计算机设备和存储介质 | |
| US10353702B2 (en) | Source code element signatures | |
| CN109918055B (zh) | 一种应用程序的生成方法及设备 | |
| US9824212B2 (en) | Method and system for recognizing advertisement plug-ins | |
| US10452781B2 (en) | Data provenance system | |
| CN113568841B (zh) | 一种针对小程序的风险检测方法、装置及设备 | |
| US9588945B2 (en) | Comparing webpage elements having asynchronous functionality | |
| CN114398673A (zh) | 应用程序的合规检测方法、装置、存储介质与电子设备 | |
| CN108415804A (zh) | 获取信息的方法、终端设备及计算机可读存储介质 | |
| CN111078637B (zh) | 脚本文件上线方法、装置、计算机设备及存储介质 | |
| CN110851756A (zh) | 页面加载方法、装置、计算机可读存储介质及终端设备 | |
| CN112379888A (zh) | 一种代码变更分析方法 | |
| CN113343312B (zh) | 基于前端埋点技术的页面防篡改方法及系统 | |
| CN112527459A (zh) | 一种基于Kubernetes集群的日志分析方法及装置 | |
| US20130081010A1 (en) | Template and server content download using protocol handlers | |
| CN110990264A (zh) | Ui自动化测试的元素识别方法、装置、设备及存储介质 | |
| CN113076084A (zh) | 资源文件处理方法、装置、设备及存储介质 | |
| CN110716956A (zh) | 一种数据请求拦截方法和装置 | |
| CN111506339A (zh) | 软件开发工具包sdk的变更信息处理方法及装置 | |
| CN104363237B (zh) | 一种互联网媒体资源元数据的处理方法及其系统 | |
| WO2020073493A1 (zh) | Sql注入漏洞检测方法、装置、设备及可读存储介质 | |
| CN112114870A (zh) | 一种打包代码的方法、装置、终端设备和存储介质 | |
| CN107329981A (zh) | 页面检测的方法和装置 |
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 | ||
| WD01 | Invention patent application deemed withdrawn after publication | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191001 |