CN110489679B - 一种浏览器内核的处理方法、装置及存储介质 - Google Patents

一种浏览器内核的处理方法、装置及存储介质 Download PDF

Info

Publication number
CN110489679B
CN110489679B CN201810444901.8A CN201810444901A CN110489679B CN 110489679 B CN110489679 B CN 110489679B CN 201810444901 A CN201810444901 A CN 201810444901A CN 110489679 B CN110489679 B CN 110489679B
Authority
CN
China
Prior art keywords
party
kernel
browser kernel
information
loading
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
Application number
CN201810444901.8A
Other languages
English (en)
Other versions
CN110489679A (zh
Inventor
郝彧杰
牛东升
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810444901.8A priority Critical patent/CN110489679B/zh
Publication of CN110489679A publication Critical patent/CN110489679A/zh
Application granted granted Critical
Publication of CN110489679B publication Critical patent/CN110489679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种浏览器内核的处理方法、装置及存储介质,本发明实施例通过当检测到网页请求指令时,运行目标组件;通过目标组件调用内核加载模块,内核加载模块用于加载浏览器内核;分析内核加载模块,以选择内核加载模块中的第三方接口信息;根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页,以此,相对于现有默认使用***浏览器内核对网页进行加载的方案而言,本方案在检测到网页请求指令时,通过目标组件直接调用操作***中的第三方接口信息,根据第三方接口信息调用第三方浏览器内核对网页进行加载,极大的提升了浏览器内核的处理的便捷性以及处理的灵活性。

Description

一种浏览器内核的处理方法、装置及存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种浏览器内核的处理方法、装置及存储介质。
背景技术
随着终端的不断普及与发展,用户越来越依赖终端,终端上可以安装各种各样的应用,其中,为了丰富应用的表现形式,很多应用中都内置了万维网(World Wide Web,Web)网页。
现有技术中,终端的操作***中会安装有***浏览器内核,在打开Web网页时,会调用***浏览器内核对网页进行渲染显示,而近年来,出现了多种先进的第三方浏览器内核,且该第三方浏览器内核在性能、稳定性以及安全性方面都强于***浏览器内核,因此,终端中通常会安装第三方浏览器内核。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中,在某个应用中打开Web网页时,会默认使用***浏览器内核对Web网页进行渲染,若需要使用第三方浏览器内核对Web网页进行渲染时,则需要手动调用第三方浏览器内核,过程比较繁琐,且在使用其他应用打开Web网页时,仍默认使用***浏览器内核进行渲染,比较死板,处理的灵活性较差。
发明内容
本发明实施例提供一种浏览器内核的处理方法、装置及存储介质,旨在提升浏览器内核的处理的便捷性以及处理的灵活性。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种浏览器内核的处理方法,包括:
当检测到网页请求指令时,运行目标组件;
通过所述目标组件调用内核加载模块,所述内核加载模块用于加载浏览器内核;
分析所述内核加载模块,以选择内核加载模块中的第三方接口信息;
根据所述第三方接口信息调用第三方浏览器内核,并通过所述第三方浏览器内核加载网页。
一种浏览器内核的处理装置,包括:
运行单元,用于当检测到网页请求指令时,运行目标组件;
调用单元,用于通过所述目标组件调用内核加载模块,所述内核加载模块用于加载浏览器内核;
第一选择单元,用于分析所述内核加载模块,以选择内核加载模块中的第三方接口信息;
加载单元,用于根据所述第三方接口信息调用第三方浏览器内核,并通过所述第三方浏览器内核加载网页。
在一些实施例中,所述处理装置,还包括安装单元和添加单元:
安装单元,用于将第三方安装包安装到所述操作***的预设目录中,所述第三方安装包中包含第三方浏览器内核;
添加单元,用于在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向所述第三方接口信息。
在一些实施例中,所述处理装置,还包括第二获取单元、判断单元和第二选择单元:
第二获取单元,用于检测网页请求指令关联的应用程序,获取所述应用程序对应的应用标识,并获取本地记录信息,所述本地记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系;
判断单元,用于根据所述本地记录信息判断所述应用标识对应的浏览器内核是否为第三方浏览器内核;
所述第一选择单元,还用于当判断出所述应用标识对应的浏览器内核为第三方浏览器内核时,执行分析所述内核加载模块,以选择内核加载模块中的第三方接口信息;
第二选择单元,用于当判断出所述应用标识对应的浏览器内核不为第三方浏览器内核时,分析所述内核加载模块,以选择内核加载模块中的***接口信息,根据所述***接口信息调用***浏览器内核,并通过所述***浏览器内核加载网页。
在一些实施例中,所述处理装置,还包括接收单元和更新单元:
接收单元,用于接收服务器发送的记录信息,所述记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系;
更新单元,用于根据所述记录信息对所述本地记录信息进行更新。
在一些实施例中,所述更新单元,具体用于:
获取所述记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系;
将所述本地记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述浏览器内核的处理方法中的步骤。
本发明实施例通过当检测到网页请求指令时,运行目标组件;通过目标组件调用内核加载模块,内核加载模块用于加载浏览器内核;分析内核加载模块,以选择内核加载模块中的第三方接口信息;根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页,以此,相对于现有默认使用***浏览器内核对网页进行加载的方案而言,本方案在检测到网页请求指令时,通过目标组件直接调用操作***中的第三方接口信息,根据第三方接口信息调用第三方浏览器内核对网页进行加载,极大的提升了浏览器内核的处理的便捷性以及处理的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的浏览器内核的处理***的场景示意图;
图2是本发明实施例提供的浏览器内核的处理方法的流程示意图;
图3是本发明实施例提供的浏览器内核的处理方法的另一流程示意图;
图4a是本发明实施例提供的浏览器内核的处理模块的示意图;
图4b是本发明实施例提供的浏览器内核的处理模块的另一示意图;
图5a是本发明实施例提供的浏览器内核的处理装置的结构示意图;
图5b是本发明实施例提供的浏览器内核的处理装置的另一结构示意图;
图5c是本发明实施例提供的浏览器内核的处理装置的另一结构示意图;
图6是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种浏览器内核的处理方法、装置、及存储介质。
请参阅图1,图1为本发明实施例所提供的浏览器内核的处理***的场景示意图,包括:终端A、终端B和服务器(该处理***还可以包括除终端A以及终端B之外的其他终端,终端具体个数在此处不作限定),终端A与服务器以及终端B与服务器之间可以通过通信网络连接,该通信网络,可以包括无线网络以及有线网络,其中无线网络包括无线广域网、无线局域网、无线城域网、以及无线个人网中的一种或多种的组合。网络中包括路由器、网关等等网络实体,图中并未示意出。终端A和终端B可以通过通信网络接收服务器发送的第三方安装包以及记录信息等,该第三方安装包中包括第三方浏览器内核,该记录信息包括了某应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
该浏览器内核的处理***可以包括浏览器内核的处理装置,该浏览器内核的处理装置具体可以集成在平板电脑、手机、笔记本电脑、台式电脑等具备储存单元并安装有微处理器而具有运算能力的终端中,在图1中,该终端即为图1中的终端A以及终端B,该终端A以及终端B中可以安装有各种用户所需的应用,比如具有浏览网页功能的浏览器应用等。该终端A以及终端B可以通过接收服务器发送的包含有第三方浏览器内核的安装包,将该安装包安装在操作***的指定目录中,并且通过对内核加载模块进行适应性调整,在内核加载模块中添加第三方接口信息,该第三方接口信息用于执行调用第三方浏览器内核。该终端A以及终端B在将安装包安装在操作***中之后,当检测到网页请求指令时,运行目标组件,通过该目标组件调用内核加载模块。分析该内核加载模块,以选择新添加的第三方接口信息,并根据该第三方接口信息调用第三方浏览器内核,并通过该第三方浏览器内核加载网页。
该浏览器内核的处理***还可以包括服务器,主要用于存储第三方安装包以及记录信息,并将该第三方安装包以及记录信息发送到终端中,开发人员可以对服务器中的第三方安装包以及记录信息进行修改。
需要说明的是,图1所示的浏览器内核的处理***的场景示意图仅仅是一个示例,本发明实施例描述的浏览器内核的处理***以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着浏览器内核的处理***的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
在本实施例中,将从浏览器内核的处理装置的角度进行描述,该浏览器内核的处理装置具体可以集成在平板电脑、手机等具备储存单元并安装有微处理器而具有运算能力的终端中。
一种浏览器内核的处理方法,包括:当检测到网页请求指令时,运行目标组件;通过目标组件调用内核加载模块,该内核加载模块用于加载浏览器内核;分析内核加载模块,以选择内核加载模块中的第三方接口信息;根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页。
请参阅图2,图2是本发明实施例提供的浏览器内核的处理方法的流程示意图。该浏览器内核的处理方法包括:
在步骤101中,当检测到网页请求指令时,运行目标组件。
需要说明的是,终端的操作***(Operating System,OS)中会安装***浏览器内核,如苹果公司的移动操作***(iPhone Operating System,iOS)的***浏览器内核为Webkit内核,在打开网页时,一般会默认调用操作***中的***浏览器内核,虽然***浏览器内核可以提供基本的排版以及渲染能力,但是一些性能优化或者定制需求则无法实现,只能通过外部引入第三方浏览器内核组件实现,并且只能针对当前引入的应用程序,无法覆盖终端中所有的应用程序。
其中,为了丰富应用程序的表现形式以及功能,现在终端中的很多应用程序中都内置了网页,如购物类应用程序,当用户在使用应用程序触发某一网页时,会对应生成网页请求指令。
进一步的,该目标组件为终端的操作***提供打开网页的组件,是操作***中用来显示网页内容的一个组件,在一实施方式中,该目标组件为WebView组件,该WebView组件是一种显示网页的组件,该WebView组件可以实现在应用程序中集成一个临时浏览器。
因此,当检测到网页请求指令时,终端可以运行用来显示网页内容的目标组件。
在一些实施方式中,在运行目标组件的步骤之前,还可以包括:
(1)将第三方安装包安装到该操作***的预设目录中;
(2)在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向该第三方接口信息。
其中,该第三方安装包中包含第三方浏览器内核,该第三方浏览器内核的功能与***浏览器内核类似,但是可以实现一些***浏览器无法实现的渲染效果。该第三方浏览器内核由第三方开发人员提供,比如Presto内核、X5内核等等。终端可以通过在服务器中下载该第三方安装包进行安装,在该第三方安装包安装的过程中,会将第三方安装文件以及第三方浏览器内核安装到操作***的预设目录中,以方便直接通过该预设目标快速找到该第三方安装文件。以及会在内核加载模块上添加第三方接口信息,该第三方接口信息为调用第三方浏览器内核的应用程序编程接口,该应用程序编程接口(ApplicationProgramming Interface,API)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。并且将目标组件的指针信息指向该第三方接口信息,使得将该第三方接口信息作为默认接口信息。
在步骤102中,通过目标组件调用内核加载模块。
其中,该内核加载模块用于加载浏览器内核,在一般场景中,该内核加载模块中包含一个接口信息,即为***接口信息,通过该***接口信息可以直接调用***浏览器内核。由于第三方浏览器内核的高速发展,第三方浏览器内核加载速度、安全性以及稳定性上已经超越***浏览器内核。所以用户往往想通过第三方浏览器内核来加载网页,当用户需要使用第三方浏览器接口对网页进行加载时,需要手动引入第三方浏览器内核进行实现,操作比较繁琐,即时在某一目标应用程序上引入了第三方浏览器内核对该目标应用程序的网页进行加载,其他应用程序在对网页加载时,仍还是通过调用***浏览器接口进行网页加载,处理的灵活性差。
在本实施例中,该第三方浏览器内核会以单独的形式发布给终端厂商或者操作***制作方,并在内核加载模块中添加一第三方接口信息,将目标组件调用内核加载模块的接口信息更改为第三方接口信息,并将内核加载模块中的调用包名对应修改为第三方浏览器内核包名,并将第三方接口信息中的接口实现类名也对应修改为第三方浏览器内核实现类名。
基于此,通过运行的目标组件调用操作***中的内核加载模块,并且该目标组件的指针直接指向内核加载模块中新增的第三方接口信息,而不是指向内核加载模块中的***接口信息。
在步骤103中,分析内核加载模块,以选择内核加载模块中的第三方接口信息。
其中,终端的操作***分析内核加载模块,确定目标组件的指针指向的内核记载模块中的接口信息,由于当前目标组件的指针指向内核加载模块中新增的第三方接口信息,所以操作***会直接选择内核加载模块中的第三方接口信息,而不是通常场景中的***接口信息。
在一些实施方式中,该分析内核加载模块,以选择内核加载模块中的第三方接口信息的步骤之前,还可以包括:
(1)检测网页请求指令关联的应用程序,获取该应用程序对应的应用标识,并获取本地记录信息;
(2)根据该本地记录信息判断该应用标识对应的浏览器内核是否为第三方浏览器内核;
(3)执行分析该内核加载模块,以选择内核加载模块中的第三方接口信息的步骤;
(4)分析该内核加载模块,以选择内核加载模块中的***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
在一些实施方式中,该检测网页请求指令关联的应用程序,获取该应用程序对应的应用标识,并获取本地记录信息的步骤之前,还可以包括:
(1.1)接收服务器发送的记录信息,该记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系;
(1.2)根据该记录信息对该本地记录信息进行更新。
其中,该记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系,终端可以通过网络即时接收服务器发送的记录信息,并通过接收的记录信息对本地记录信息进行更新操作,使得云端服务器可以下发开关控制终端中的浏览器内核的使用。
在一些实施方式中,该根据该记录信息对该本地记录信息进行更新的步骤,可以包括:
(2.1)获取该记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系;
(2.2)将该本地记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
其中,终端在接收到该记录信息之后,获取记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系,将本地记录信息中的与记录信息相同的应用标识与***浏览器内核或者第三方浏览器的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。以此,实现云端服务器对终端中浏览器内核的使用进行控制。
在步骤104中,根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页。
需要说明的是,该浏览器内核(Rendering Engine)还可以称之为排版引擎、解释引擎、渲染引擎,顾名思义,是用来渲染网页内容的,将网页的代码转换为最终看得见的页面。不同的内核的渲染(显示)效果也不相同。
其中,通过调用第三方接口信息,该第三方接口信息会直接执行初始化第三方浏览器内核并调用该第三方浏览器内核,再通过该第三方浏览器内核对网页请求指令中的网页的代码进行语法解释,并对语法解释后的网页进行渲染,以达到以第三方浏览器内核的渲染效果对网页的加载效果。
在一些实施方式中,该根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页的步骤,可以包括:
(1)根据该第三方接口信息加载该第三方浏览器内核中的第一执行文件,以读取该第三方浏览器内核中的配置文件信息;
(2)根据该第三方接口信息加载该第三方浏览器内核中的第二执行文件,以加载该第三方浏览器内核中的资源文件信息;
(3)通过该配置文件信息以及资源文件信息加载网页。
其中,该第一执行文件可以为第三方浏览器内核中的dex文件,该dex文件为操作***平台上的可执行文件,里面包含了第三方浏览器内核的源码,可通过反编译工具获取到相应的源码,通过加载该第一执行文件可以初始化第三方浏览器内核,并读取第三方浏览器内核中的配置文件文件信息,该配置文件信息为加载网页环境所需的设置和文件的集合。
进一步的,该第二执行文件可以为第三方浏览器内核中的so文件,该so文件为二进制文件,类似于动态链接库文件,通过加载该第二执行文件可以调用第三方浏览器内核,并加载第三方浏览器内核中的资源文件信息,该资源文件包含着无需重新编辑代码便可以改变的位图、字符串和其他数据。
通过该配置文件信息以及资源文件信息对网页中的超文本标记语言进行解析,将解析后的网页进行布局及绘制,最后进行复合图层化,实现将网页进行显示。
在一些实施方式中,该通过该配置文件信息以及资源文件信息加载网页的步骤,可以包括:
(1.1)通过该配置文件信息对网页进行语法解释;
(1.2)通过该资源文件信息对语法解释后的网页进行渲染,并显示该网页。
其中,可以通过该配置文件信息对网页中的超文本标记语言(Hyper Text MarkupLanguage,HTML)进行语法解释,将该超文本标记语言解析为操作***可以识别的代码信息,并将该解析后的代码信息用层叠样式表(Cascading Style Sheets,CSS)进行表现。
进一步的,通过资源文件信息对语法解释后的网页进行页面布局,渲染以及复合层合成,将该网页进行显示。
在一些实施方式中,该第三方浏览器内核集成在第三方安装包中,该根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页的步骤之前,还可以包括:
(2.1)获取第三方安装包的状态信息;
(2.2)检测该状态信息是否为安装完成状态;
(2.3)执行根据该第三方接口信息调用第三方浏览器内核的步骤;
(2.4)将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
其中,该第三方浏览器内核集成在该第三方安装包中,也就是说将第三方安装包安装在操作***中,即可以实现将第三方浏览器内核加载到操作***中。
而在实际的使用过程中,当第三方浏览器内核卸载后,该第三方浏览器内核也会相应被删除,此时,操作***通过该第三方接口信息将无法调用第三方浏览器内核,会出现网页无法打开的情况。
因此,在根据第三方接口信息调用第三方浏览器内核时,需要先获取该第三方安装包的状态信息,该状态信息包括安装完成状态或者安装未完成状态。检测该状态信息是否为安装完成状态,当检测到该状态信息为安装完成状态时,执行步骤(2.3)。当检测到该状态信息不为安装完成状态时,执行步骤(2.4)。
当检测到该状态信息为安装完成状态时,说明该第三方安装包已经安装在操作***中,可以直接执行根据该第三方接口信息调用第三方浏览器内核的步骤。
当检测到该状态信息不为安装完成状态时,说明该第三方安装包已经被卸载,无法通过第三方接口信息调用到第三方浏览器内核,此时,为了网页可以正常进行显示,可以将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
在一些实施方式中,该通过该第三方浏览器内核加载网页的步骤之后,还可以包括当检测到该第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
其中,由于一些特殊场景,如文件丢失,或者配置环境等问题,该第三方浏览器内核会加载失败,此时,会导致网页无法正常显示。
因此,当检测到该第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
在一实施方式中,在该第三方浏览器内核加载失败时,可以显示一条提示信息,该提示信息用于提示用户第三方浏览器内核出现异常,用户可以根据该提示信息重新装载第三方浏览器内核或者修复异常。
由上可知,本发明实施例通过当检测到网页请求指令时,运行目标组件;通过目标组件调用内核加载模块,内核加载模块用于加载浏览器内核;分析内核加载模块,以选择内核加载模块中的第三方接口信息;根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页,以此,相对于现有默认使用***浏览器内核对网页进行加载的方案而言,本方案在检测到网页请求指令时,通过目标组件直接调用操作***中的第三方接口信息,根据第三方接口信息调用第三方浏览器内核对网页进行加载,极大的提升了浏览器内核的处理的便捷性以及处理的灵活性。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该浏览器内核的处理装置具体集成在终端中为例进行说明。
请参阅图3,图3为本发明实施例提供的浏览器内核的处理方法的另一流程示意图。该方法流程可以包括:
在步骤201中,终端将第三方安装包安装到操作***的预设目录中。
需要说明的是,如图4a所示,终端的操作***中会安装***浏览器内核,该***浏览器内核集成在***安装包(Google WebView.apk)中,当用户通过使用应用程序(App)打开其中的网页时,会运行目标组件(WebView组件),并且通过该WebView组件调用内核加载模块(WebCore Loader),该内核加载模块(WebCore Loader)中包含有***接口信息(***内核接口层),当该WebView组件调用该内核加载模块(WebCore Loader)时,会指向该内核加载模块(WebCore Loader)中的***接口信息,使得可以根据该***接口信息调用***安装包(Google WebView.apk)中的***浏览器内核,并通过该***浏览器内核加载网页。
其中,虽然通过***浏览器内核可以提供网页的基本的排版以及渲染能力,但是一些性能优化或者定制需求则无法实现,只能通过外部引入第三方浏览器内核组件实现,并且只能针对当前引入的应用程序,在其他应用程序打开网页时,仍然自动以***浏览器内核来实现加载网页,灵活性较差。
其中,该三方安装包中包含了第三方浏览器内核,该第三方浏览器内核可以实现***浏览器内核无法实现的渲染以及排版效果。该第三方安装包由第三方开发人员提供。终端可以从云端服务器中下载该第三方安装包,并将该第三方安装包安装到操作***的预设目录文件夹中,以方便操作***可以通过该预设目录文件夹直接找到第三方安装包及第三方安装文件。
在步骤202中,终端在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向该第三方接口信息。
其中,在该第三方安装包安装的过程中,会对内核加载模块进行调整,具体为在保留***接口信息的基础上,添加第三方接口信息(第三方内核接口层),并将目标组件的指针指向该新增的第三方接口信息,修改调用的安装包名为第三方安装包名,以及将第三方接口信息中的实现类名修改为第三方浏览器内核的实现类名,使得自动以该第三方浏览器内核作为优先加载内核,而不是***浏览器内核。
例如,如图4b所示,在将第三方浏览器内核(X5内核)以第三方安装包(X5安装包)的形式安装在操作***之后,该***浏览器内核集成在***安装包(Google WebView.apk)中,该X5内核(第三方浏览器内核)集成在X5安装包(X5WebView.apk)中,也就是说,操作***当前拥有两个浏览器内核,分别为***浏览器内核以及X5内核。将该内核加载模块(WebCore Loader)对应更改为X5内核加载模块(X5WebCore Loader),区别为X5WebCoreLoader中添加了第三方接口信息(第三方内核接口层,也即X5内核接口层),并将原先WebView组件调用内核加载模块的***内核接口层替换为X5内核接口层(即将目标组件的指针信息指向该第三方接口信息),该X5内核接口层为在保留了***内核接口层功能的基础上补充了X5特定接口层。
进一步的,将获取内核接口层的逻辑修改为获取该X5内核接口层,包括将调用的包名修改为X5内核包名,将包签名修改为X5内核包签名,以及将接口实现类名修改为X5内核实现类名。使得既可以优先根据X5内核接口层调用X5安装包(X5WebView.apk)中的X5内核,也保留了根据该***接口信息调用***安装包(Google WebView.apk)中的***浏览器内核的功能。
在步骤203中,当终端检测到网页请求指令时,运行目标组件。
其中,当终端检测到用户通过应用程序打开某个网页时,生成网页请求指令,并运行目标组件,为了更好说明本实施例,以目标组件为WebView组件进行说明。
在步骤204中,终端通过目标组件调用内核加载模块。
其中,终端通过运行WebView组件来调用内核加载模块,该内核加载模块中用于加载浏览器内核,该内核加载模块中包括***接口信息以及第三方接口信息,由于该目标组件的指针信息指向该内核加载模块中的第三方接口信息,那么该内核加载模块默认使用接口为第三方接口信息。
在步骤205中,终端接收服务器发送的记录信息,获取记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
其中,服务器可以根据使用习惯下发记录信息至终端中,以控制终端中的应用程序与浏览器内核的使用开关关系,该记录信息中包括了每一应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系,终端在接收到服务器发送的记录信息后,会对记录信息进行解析,获取到记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系,该第二关联关系可以用表进行表示,如表1所示:
表1
应用标识 浏览器内核
应用1 第三方浏览器内核
应用2 第三方浏览器内核
应用3 ***浏览器内核
应用4 第三方浏览器内核
由上述表1,可以看出记录信息中,“应用1”对应的浏览器内核为第三方浏览器内核、“应用2”对应的浏览器内核为第三方浏览器内核、“应用3”对应的浏览器内核为***浏览器内核以及“应用4”对应的浏览器内核为第三方浏览器内核。
在步骤206中,终端将本地记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
其中,该本地记录信息为存储在终端的指定文件目录中的信息,该本地记录信息中包含了应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系。该本地记录信息中的第一关联关系直接代表了使用某一应用标识对应的应用程序打开网页时,会使用第一关联关系指示的浏览器内核进行渲染,因此,用户可以通过对本地记录信息进行调整,达到灵活使用需要的浏览器内核进行打开指定的应用程序的目的。该第一关联关系可以用表进行表示,如表2所示:
表2
应用标识 浏览器内核
应用1 ***浏览器内核
应用2 第三方浏览器内核
应用3 第三方浏览器内核
应用4 第三方浏览器内核
应用5 ***浏览器内核
由上述表2,可以看出本地记录信息中,“应用1”对应的浏览器内核为***浏览器内核、“应用2”对应的浏览器内核为第三方浏览器内核、“应用3”对应的浏览器内核为第三方浏览器内核、“应用4”对应的浏览器内核为第三方浏览器内核以及“应用5”对应的浏览器内核为***浏览器内核。
进一步的,将本地记录信息中的与记录信息中相同的应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。即将本地记录信息中“应用1”对应为***浏览器内核的第一关联关系替换为记录信息中的“应用1”对应为第三方浏览器内核的第二关联关系。将本地记录信息中“应用3”对应为第三方浏览器内核的第一关联关系替换为记录信息中的“应用3”对应为***浏览器内核的第二关联关系。其余关联关系相同的地方不变。那么替换后的第一关联关系可以如表3所示:
表3
应用标识 浏览器内核
应用1 第三方浏览器内核
应用2 第三方浏览器内核
应用3 ***浏览器内核
应用4 第三方浏览器内核
应用5 ***浏览器内核
在步骤207中,终端检测网页请求指令关联的应用程序,获取应用程序对应的应用标识,并获取本地记录信息。
其中,终端检测网页请求指令是通过哪一应用程序生成的,如为“XX购物应用”,获取该“XX购物应用”对应的应用标识“应用1”,并获取本地记录信息中的第一关联关系,即表3。
在步骤208中,终端根据本地记录信息判断应用标识对应的浏览器内核是否为第三方浏览器内核。
其中,终端根据本地记录信息中的第一关联关系,判断获取的应用标识对应的浏览器内核是否为第三方浏览器内核,如获取的应用标识为“应用1”,第一关联关系(即表3)指示“应用1”对应的浏览器内核为第三方浏览器内核时,那么判断为应用标识对应的浏览器内核为第三方浏览器内核,执行步骤209。如获取的应用标识为“应用5”,第一关联关系(即表3)指示“应用5”对应的浏览器内核为***浏览器内核,那么判断为应用标识对应的浏览器内核不为第三方浏览器内核,执行步骤210。
在步骤209中,终端分析内核加载模块,以选择内核加载模块中的第三方接口信息。
其中,当判断出该应用标识对应的浏览器内核为第三方浏览器内核时,说明该应用标识对应的应用程序需要通过第三方浏览器内核对网页进行加载,由于目标组件指针信息指向内核加载模块中的第三方接口信息,所以直接执行分析该内核加载模块,选择并确定内核模块中的第三方接口信息的步骤。
在步骤210中,终端分析内核加载模块,以选择内核加载模块中的***接口信息,根据***接口信息调用***浏览器内核,并通过***浏览器内核加载网页。
其中,当判断出该应用标识对应的浏览器内核不为第三方浏览器内核时,说明该应用标识对应的应用程序需要通过***浏览器内核对网页进行加载,终端可以分析该内核加载模块,将该目标组件的指针指向内核加载模块中新增的第三方接口信息更改为指向内核加载模块中的***接口信息,分析该内核加载模块,以选择并确定内核加载模块中的***接口信息,并根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
在步骤211中,终端获取第三方安装包的状态信息。
其中,该第三方浏览器内核集成在该第三方安装包中,当该第三方安装包安装完成时,说明该第三方浏览器内核才加载到终端的操作***中,因此,终端在调用第三方浏览器内核时,需要获取第三方安装包的状态信息,该状态信息包括安装完成状态以及安装未完成状态。
在步骤212中,终端检测状态信息是否为安装完成状态。
其中,当终端检测到状态信息为安装完成状态时,执行步骤213。当终端检测到状态信息不为安装完成状态时,执行步骤214。
在步骤213中,终端根据第三方接口信息加载第三方浏览器内核中的第一执行文件,以读取第三方浏览器内核中的配置文件信息。
其中,当终端检测到状态新信息为安装完成状态时,说明可以第三方浏览器内核已经加载到终端的操作***中了,对应的,终端会根据该第三方接口信息加载该第三方浏览器内核中的dex文件,以达到初始化第三方浏览器内核的功能,并读取第三方浏览器内核中的配置文件信息。
在步骤214中,终端将内核加载模块中选择的第三方接口信息切换为***接口信息,根据***接口信息调用***浏览器内核,并通过***浏览器内核加载网页。
其中,当检测到该状态信息不为安装完成状态时,说明该第三方安装包已经被卸载,无法通过第三方接口信息调用到第三方浏览器内核,此时,为了网页可以正常进行显示,可以将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
在步骤215中,终端根据第三方接口信息加载第三方浏览器内核中的第二执行文件,以加载第三方浏览器内核中的资源文件信息。
其中,终端在加载该第三方浏览器内核中的dex文件,并读取第三方浏览器内核中的配置文件信息之后,还会根据第三方接口信息加载第三方浏览器内核中的so文件,以达到调用第三方浏览器内核的功能,并加载该第三方浏览器内核中的资源文件信息。
在步骤216中,终端通过配置文件信息对网页进行语法解释,通过资源文件信息对语法解释后的网页进行渲染,并显示网页。
其中,终端通过配置文件信息以及完成初始化的第三方浏览器内核对网页的HTML进行解析,将该HTML解析为操作***可以识别的代码信息,并将该解析后的代码信息用层叠样式表进行表现。
进一步的,通过该资源文件信息以及第三方浏览器内核对表现后的网页进行页面布局,渲染以及复合层合成,完成对网页的显示。
在步骤217中,当终端检测到第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据***接口信息调用***浏览器内核,并通过***浏览器内核加载网页。
其中,由于一些特殊情况,如第三方浏览器内核的文件丢失,或者运行环境不匹配等问题,将会导致第三方浏览器内核会加载失败,由于该目标组件的指针信息指向该第三方接口信息,当该第三方浏览器内核加载失败时,将导致网页无法正常显示。
因此,当检测到第三方浏览器内核加载失败时,将内核加载模块中的选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。同时显示一条提示信息,提示信息可以为“第三方浏览器内核加载失败,请注意!”。
由上述可知,终端将集成有第三方浏览器内核的第三方安装包安装到操作***的预设目录中,在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向第三方接口信息,使得该第三方接口信息成为默认接口信息,当检测到网页请求指令,运行目标组件,通过目标组件调用内核加载模块,终端获取网页请求指令关联的应用程序对应的应用标识,并根据应用标识以及本地记录信息,判断获取的应用标识关联的浏览器内核是否为第三方浏览器内核,当为第三方浏览器内核时,分析内核加载模块,以选择内核加载模块中的第三方接口信息,根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页,以此,相对于现有默认使用***浏览器内核对网页进行加载的方案而言,本方案可以根据实际需要,将需要使用第三方浏览器内核加载网页的应用程序,都通过选择内核加载模块中的第三方接口信息调用第三方浏览器内核对应用程序中的网页进行加载,极大的提升了浏览器内核的处理的便捷性以及处理的灵活性。
实施例三、
为便于更好的实施本发明实施例提供的浏览器内核的处理方法,本发明实施例还提供一种基于上述浏览器内核的处理方法的装置。其中名词的含义与上述浏览器内核的处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5a,图5a为本发明实施例提供的浏览器内核的处理装置的结构示意图,其中该浏览器内核的处理装置可以包括运行单元301、调用单元302、第一选择单元303、及加载单元304等。
运行单元301,用于当检测到网页请求指令时,运行目标组件。
其中,为了丰富应用程序的表现形式以及功能,现在终端中的很多应用程序中都内置了网页,如购物类应用程序,当用户在使用应用程序触发某一网页时,会对应生成网页请求指令。
进一步的,该目标组件为终端的操作***提供打开网页的组件,是操作***中用来显示网页内容的一个组件,在一实施方式中,该目标组件为WebView组件,该WebView组件是一种显示网页的组件,该WebView组件可以实现在应用程序中集成一个临时浏览器。
因此,当运行单元301检测到网页请求指令时,可以运行用来显示网页内容的目标组件。
调用单元302,用于通过该目标组件调用内核加载模块,该内核加载模块用于加载浏览器内核。
其中,该内核加载模块用于加载浏览器内核,在一般场景中,该内核加载模块中包含一个接口信息,即为***接口信息,通过该***接口信息可以直接调用***浏览器内核。由于第三方浏览器内核的高速发展,第三方浏览器内核加载速度、安全性以及稳定性上已经超越***浏览器内核。所以用户往往想通过第三方浏览器内核来加载网页,当用户需要使用第三方浏览器接口对网页进行加载时,需要手动引入第三方浏览器内核进行实现,操作比较繁琐,即时在某一目标应用程序上引入了第三方浏览器内核对该目标应用程序的网页进行加载,其他应用程序在对网页加载时,仍还是通过调用***浏览器接口进行网页加载,处理的灵活性差。
在本实施例中,该第三方浏览器内核会以单独的形式发布给终端厂商或者操作***制作方,并在内核加载模块中添加一第三方接口信息,将目标组件调用内核加载模块的接口信息更改为第三方接口信息,并将内核加载模块中的调用包名对应修改为第三方浏览器内核包名,并将第三方接口信息中的接口实现类名也对应修改为第三方浏览器内核实现类名。
基于此,调用单元302通过运行的目标组件调用操作***中的内核加载模块,并且该目标组件的指针直接指向内核加载模块中新增的第三方接口信息,而不是指向内核加载模块中的***接口信息。
第一选择单元303,用于分析该内核加载模块,以选择内核加载模块中的第三方接口信息。
其中,第一选择单元303分析内核加载模块,确定目标组件的指针指向的内核记载模块中的接口信息,由于当前目标组件的指针指向内核加载模块中新增的第三方接口信息,所以第一选择单元303会直接选择内核加载模块中的第三方接口信息,而不是通常场景中的***接口信息。
加载单元304,用于根据该第三方接口信息调用第三方浏览器内核,并通过该第三方浏览器内核加载网页。
其中,加载单元304通过调用第三方接口信息,该第三方接口信息会直接执行初始化第三方浏览器内核并调用该第三方浏览器内核,再通过该第三方浏览器内核对网页请求指令中的网页的代码进行语法解释,并对语法解释后的网页进行渲染,以达到以第三方浏览器内核的渲染效果对网页的加载效果。
在一些实施方式中,如图5b所示,该加载单元304可以包括读取子单元3041、第一加载子单元3042以及第二加载子单元3043,如下:
读取子单元3041,用于根据该第三方接口信息加载该第三方浏览器内核中的第一执行文件,以读取该第三方浏览器内核中的配置文件信息;
第一加载子单元3042,用于根据该第三方接口信息加载该第三方浏览器内核中的第二执行文件,以加载该第三方浏览器内核中的资源文件信息;
第二加载子单元3043,用于通过该配置文件信息以及资源文件信息加载网页。
其中,该第一执行文件可以为第三方浏览器内核中的dex文件,该dex文件为操作***平台上的可执行文件,里面包含了第三方浏览器内核的源码,可通过反编译工具获取到相应的源码,读取子单元3041通过加载该第一执行文件可以初始化第三方浏览器内核,并读取第三方浏览器内核中的配置文件文件信息,该配置文件信息为加载网页环境所需的设置和文件的集合。
进一步的,该第二执行文件可以为第三方浏览器内核中的so文件,该so文件为二进制文件,类似于动态链接库文件,第一加载子单元3042通过加载该第二执行文件可以调用第三方浏览器内核,并加载第三方浏览器内核中的资源文件信息,该资源文件包含着无需重新编辑代码便可以改变的位图、字符串和其他数据。
第二加载子单元3043通过该配置文件信息以及资源文件信息对网页中的超文本标记语言进行解析,将解析后的网页进行布局及绘制,最后进行复合图层化,实现将网页进行显示。
在一些实施方式中,该第二加载子单元3043,具体可以用于通过该配置文件信息对网页进行语法解释,通过该资源文件信息对语法解释后的网页进行渲染,并显示该网页。
其中,第二加载子单元3043可以通过该配置文件信息对网页中的超文本标记语言进行语法解释,将该超文本标记语言解析为操作***可以识别的代码信息,并将该解析后的代码信息用层叠样式表进行表现。
进一步的,通过资源文件信息对语法解释后的网页进行页面布局,渲染以及复合层合成,将该网页进行显示。
在一些实施方式中,如图5c所示,浏览器内核的处理装置还可以包括安装单元305、添加单元306、接收单元307、更新单元308、第二获取单元309、判断单元310、第二选择单元311、第一获取单元312、检测单元313、第一切换单元314以及第二切换单元315。
安装单元305,用于将第三方安装包安装到该操作***的预设目录中,该第三方安装包中包含第三方浏览器内核。
添加单元306,用于在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向该第三方接口信息。
其中,该第三方安装包中包含第三方浏览器内核,该第三方浏览器内核的功能与***浏览器内核类似,但是可以实现一些***浏览器无法实现的渲染效果。该第三方浏览器内核由第三方开发人员提供,比如Presto内核、X5内核等等。安装单元305可以通过在服务器中下载该第三方安装包进行安装,在该第三方安装包安装的过程中,会将第三方安装文件以及第三方浏览器内核安装到操作***的预设目录中,以方便直接通过该预设目标快速找到该第三方安装文件。以及添加单元306会在内核加载模块上添加第三方接口信息,该第三方接口信息为调用第三方浏览器内核的应用程序编程接口,并且将目标组件的指针信息指向该第三方接口信息,使得将该第三方接口信息作为默认接口信息。
接收单元307,用于接收服务器发送的记录信息,该记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
更新单元308,用于根据该记录信息对该本地记录信息进行更新。
其中,接收单元307可以通过网络即时接收服务器发送的记录信息,更新单元308通过接收的记录信息对本地记录信息进行更新操作,使得云端服务器可以下发开关控制终端中的浏览器内核的使用。
在一些实施方式中,该更新单元308,具体可以用于获取该记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系,将该本地记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
其中,接收单元307在接收到记录信息之后,更新单元308获取记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系,将本地记录信息中的与记录信息相同的应用标识与***浏览器内核或者第三方浏览器的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。以此,实现云端服务器对终端中浏览器内核的使用进行控制。
第二获取单元309,用于检测网页请求指令关联的应用程序,获取该应用程序对应的应用标识,并获取本地记录信息,该本地记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系。
判断单元310,用于根据该本地记录信息判断该应用标识对应的浏览器内核是否为第三方浏览器内核。
该第一选择单元303,具体还用于当判断出该应用标识对应的浏览器内核为第三方浏览器内核时,执行分析该内核加载模块,以选择内核加载模块中的第三方接口信息的步骤
第二选择单元311,用于当判断出该应用标识对应的浏览器内核不为第三方浏览器内核时,分析该内核加载模块,以选择内核加载模块中的***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
其中,第二获取单元309检测该网页请求指令是通过哪一应用程序生成的,获取该应用程序对应的应用标识,该应用标识可以为应用程序的名称或者应用程序的版本号等等,并获取存储在终端的存储空间中的本地记录信息。
该本地记录信息可以存储在存储空间的指定文件目录中,以方便用户直接通过该指定文件目录直接调取其中的本地记录信息,该本地记录信息中包含了应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系,即本地记录信息中指示了应用标识对应的应用程序在打开网页时指定的浏览器内核信息,可以根据用户自身需要选择浏览器内核信息为第三方浏览器内核或者***浏览器内核。
进一步的,判断单元310根据本地记录信息中指示的应用标识与浏览器内核的第一关联关系,判断该应用标识对应的浏览器内核是否为第三方浏览器内核。
当第一选择单元303判断出该应用标识对应的浏览器内核为第三方浏览器内核时,说明需要通过第三方浏览器内核对应用标识对应的应用程序中的网页进行加载,所以执行分析该内核加载模块,选择并确定内核模块中的第三方接口信息。
当第二选择单元311判断出该应用标识对应的浏览器内核不为第三方浏览器内核时,说明需要通过***浏览器内核对应用标识对应的应用程序中的网页进行加载,所以分析该内核加载模块,将该目标组件的指针指向内核加载模块中新增的第三方接口信息更改为指向内核加载模块中的***接口信息,分析该内核加载模块,以选择并确定内核加载模块中的***接口信息,并根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。因此,可以通过对本地记录信息中的应用标识与浏览器内核的第一关联关系的设置,达到实现终端控制允许所有应用程序使用第三方浏览器内核,部分应用程序使用第三方浏览器内核的目的。
第一获取单元312,用于获取第三方安装包的状态信息。
检测单元313,用于检测该状态信息是否为安装完成状态。
该加载单元304,还用于当检测到该状态信息为安装完成状态时,执行根据该第三方接口信息调用第三方浏览器内核,并通过该第三方浏览器内核加载网页。
第一切换单元314,用于当检测到该状态信息不为安装完成状态时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
其中,该第三方浏览器内核集成在该第三方安装包中,也就是说将第三方安装包安装在操作***中,即可以实现将第三方浏览器内核加载到操作***中。
而在实际的使用过程中,当第三方浏览器内核卸载后,该第三方浏览器内核也会相应被删除,此时,操作***通过该第三方接口信息将无法调用第三方浏览器内核,会出现网页无法打开的情况。
因此,在根据第三方接口信息调用第三方浏览器内核时,需要第一获取单元312先获取该第三方安装包的状态信息,该状态信息包括安装完成状态或者安装未完成状态。检测单元313检测该状态信息是否为安装完成状态。
当该加载单元304检测到该状态信息为安装完成状态时,说明该第三方安装包已经安装在操作***中,可以直接执行根据该第三方接口信息调用第三方浏览器内核,并通过该第三方浏览器内核加载网页。
当第一切换单元314检测到该状态信息不为安装完成状态时,说明该第三方安装包已经被卸载,无法通过第三方接口信息调用到第三方浏览器内核,此时,为了网页可以正常进行显示,可以将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
第二切换单元315,用于当检测到该第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
其中,由于一些特殊场景,如文件丢失,或者配置环境等问题,该第三方浏览器内核会加载失败,此时,会导致网页无法正常显示。
因此,当第二切换单元315检测到该第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据该***接口信息调用***浏览器内核,并通过该***浏览器内核加载网页。
在一实施方式中,在该第三方浏览器内核加载失败时,第二切换单元315可以显示一条提示信息,该提示信息用于提示用户第三方浏览器内核出现异常,用户可以根据该提示信息重新装载第三方浏览器内核或者修复异常。
以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本发明实施例通过当运行单元301检测到网页请求指令时,运行目标组件;调用单元302通过目标组件调用内核加载模块,内核加载模块用于加载浏览器内核;第一选择单元303分析内核加载模块,以选择内核加载模块中的第三方接口信息;加载单元304根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页,以此,相对于现有默认使用***浏览器内核对网页进行加载的方案而言,本方案在检测到网页请求指令时,通过目标组件直接调用操作***中的第三方接口信息,根据第三方接口信息调用第三方浏览器内核对网页进行加载,极大的提升了浏览器内核的处理的便捷性以及处理的灵活性。
实施例四、
本发明实施例还提供一种终端,如图6所示,该终端可以包括射频(RF,RadioFrequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及浏览器内核的处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。
输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图6中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器408是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理***与处理器408逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:
当检测到网页请求指令时,运行目标组件;通过该目标组件调用内核加载模块,该内核加载模块用于加载浏览器内核;分析该内核加载模块,以选择内核加载模块中的第三方接口信息;根据该第三方接口信息调用第三方浏览器内核,并通过该第三方浏览器内核加载网页。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对浏览器内核的处理方法的详细描述,此处不再赘述。
由上可知,本发明实施例的终端可以通过当检测到网页请求指令时,运行目标组件;通过目标组件调用内核加载模块,内核加载模块用于加载浏览器内核;分析内核加载模块,以选择内核加载模块中的第三方接口信息;根据第三方接口信息调用第三方浏览器内核,并通过第三方浏览器内核加载网页,以此,相对于现有默认使用***浏览器内核对网页进行加载的方案而言,本方案在检测到网页请求指令时,通过目标组件直接调用操作***中的第三方接口信息,根据第三方接口信息调用第三方浏览器内核对网页进行加载,极大的提升了浏览器内核的处理的便捷性以及处理的灵活性。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种浏览器内核的处理方法中的步骤。例如,该指令可以执行如下步骤:
当检测到网页请求指令时,运行目标组件;通过该目标组件调用内核加载模块,该内核加载模块用于加载浏览器内核;分析该内核加载模块,以选择内核加载模块中的第三方接口信息;根据该第三方接口信息调用第三方浏览器内核,并通过该第三方浏览器内核加载网页。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种浏览器内核的处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种浏览器内核的处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种浏览器内核的处理方法、装置、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种浏览器内核的处理方法,其特征在于,包括:
当检测到网页请求指令时,运行目标组件;
通过所述目标组件调用内核加载模块,所述内核加载模块用于加载浏览器内核;
分析所述内核加载模块,若所述目标组件的指针指向所述内核加载模块中的第三方接口信息,选择内核加载模块中的第三方接口信息;
根据所述第三方接口信息调用第三方浏览器内核,并通过所述第三方浏览器内核加载网页;
所述运行目标组件的步骤之前,还包括:
将第三方安装包安装到操作***的预设目录中,所述第三方安装包中包含第三方浏览器内核;
在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向所述第三方接口信息,所述第三方接口信息为调用所述第三方浏览器内核的应用程序编程接口。
2.根据权利要求1所述的处理方法,其特征在于,所述根据所述第三方接口信息调用第三方浏览器内核,并通过所述第三方浏览器内核加载网页的步骤,包括:
根据所述第三方接口信息加载所述第三方浏览器内核中的第一执行文件,以读取所述第三方浏览器内核中的配置文件信息;
根据所述第三方接口信息加载所述第三方浏览器内核中的第二执行文件,以加载所述第三方浏览器内核中的资源文件信息;
通过所述配置文件信息以及资源文件信息加载网页。
3.根据权利要求2所述的处理方法,其特征在于,所述通过所述配置文件信息以及资源文件信息加载网页的步骤,包括:
通过所述配置文件信息对网页进行语法解释;
通过所述资源文件信息对语法解释后的网页进行渲染,并显示所述网页。
4.根据权利要求1所述的处理方法,其特征在于,所述第三方浏览器内核集成在第三方安装包中,所述根据所述第三方接口信息调用第三方浏览器内核的步骤之前,还包括:
获取第三方安装包的状态信息;
检测所述状态信息是否为安装完成状态;
当检测到所述状态信息为安装完成状态时,执行根据所述第三方接口信息调用第三方浏览器内核的步骤;
当检测到所述状态信息不为安装完成状态时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据所述***接口信息调用***浏览器内核,并通过所述***浏览器内核加载网页。
5.根据权利要求1至4任一项所述的处理方法,其特征在于,所述通过所述第三方浏览器内核加载网页的步骤之后,还包括:
当检测到所述第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息;
根据所述***接口信息调用***浏览器内核,并通过所述***浏览器内核加载网页。
6.根据权利要求1所述的处理方法,其特征在于,所述分析所述内核加载模块,以选择内核加载模块中的第三方接口信息的步骤之前,还包括:
检测网页请求指令关联的应用程序,获取所述应用程序对应的应用标识,并获取本地记录信息,所述本地记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系;
根据所述本地记录信息判断所述应用标识对应的浏览器内核是否为第三方浏览器内核;
当判断出所述应用标识对应的浏览器内核为第三方浏览器内核时,执行分析所述内核加载模块,以选择内核加载模块中的第三方接口信息的步骤;
当判断出所述应用标识对应的浏览器内核不为第三方浏览器内核时,分析所述内核加载模块,以选择内核加载模块中的***接口信息,根据所述***接口信息调用***浏览器内核,并通过所述***浏览器内核加载网页。
7.根据权利要求6所述的处理方法,其特征在于,所述检测网页请求指令关联的应用程序,获取所述应用程序对应的应用标识,并获取本地记录信息的步骤之前,还包括:
接收服务器发送的记录信息,所述记录信息包含了应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系;
根据所述记录信息对所述本地记录信息进行更新。
8.根据权利要求7所述的处理方法,其特征在于,所述根据所述记录信息对所述本地记录信息进行更新的步骤,包括:
获取所述记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系;
将所述本地记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第一关联关系替换为记录信息中的应用标识与***浏览器内核或者第三方浏览器内核的第二关联关系。
9.一种浏览器内核的处理装置,其特征在于,包括:
运行单元,用于当检测到网页请求指令时,运行目标组件;
调用单元,用于通过所述目标组件调用内核加载模块,所述内核加载模块用于加载浏览器内核;
第一选择单元,用于分析所述内核加载模块,若所述目标组件的指针指向所述内核加载模块中的第三方接口信息,选择内核加载模块中的第三方接口信息;
加载单元,用于根据所述第三方接口信息调用第三方浏览器内核,并通过所述第三方浏览器内核加载网页;
安装单元,用于将第三方安装包安装到操作***的预设目录中,该第三方安装包中包含第三方浏览器内核;
添加单元,用于在内核加载模块中添加第三方接口信息,并将目标组件的指针信息指向该第三方接口信息,所述第三方接口信息为调用所述第三方浏览器内核的应用程序编程接口。
10.根据权利要求9所述的处理装置,其特征在于,所述加载单元,包括:
读取子单元,用于根据所述第三方接口信息加载所述第三方浏览器内核中的第一执行文件,以读取所述第三方浏览器内核中的配置文件信息;
第一加载子单元,用于根据所述第三方接口信息加载所述第三方浏览器内核中的第二执行文件,以加载所述第三方浏览器内核中的资源文件信息;
第二加载子单元,用于通过所述配置文件信息以及资源文件信息加载网页。
11.根据权利要求10所述的处理装置,其特征在于,所述第二加载子单元,具体用于:
通过所述配置文件信息对网页进行语法解释;
通过所述资源文件信息对语法解释后的网页进行渲染,并显示所述网页。
12.根据权利要求9所述的处理装置,其特征在于,所述第三方浏览器内核集成在第三方安装包中,所述处理装置,还包括第一获取单元、检测单元和第一切换单元:
第一获取单元,用于获取第三方安装包的状态信息;
检测单元,用于检测所述状态信息是否为安装完成状态;
所述加载单元,还用于当检测到所述状态信息为安装完成状态时,执行根据所述第三方接口信息调用第三方浏览器内核,并通过所述第三方浏览器内核加载网页;
第一切换单元,用于当检测到所述状态信息不为安装完成状态时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据所述***接口信息调用***浏览器内核,并通过所述***浏览器内核加载网页。
13.根据权利要求9至12任一项所述的处理装置,其特征在于,所述处理装置,还包括:
第二切换单元,用于当检测到所述第三方浏览器内核加载失败时,将内核加载模块中选择的第三方接口信息切换为***接口信息,根据所述***接口信息调用***浏览器内核,并通过所述***浏览器内核加载网页。
14.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的浏览器内核的处理方法中的步骤。
CN201810444901.8A 2018-05-10 2018-05-10 一种浏览器内核的处理方法、装置及存储介质 Active CN110489679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810444901.8A CN110489679B (zh) 2018-05-10 2018-05-10 一种浏览器内核的处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810444901.8A CN110489679B (zh) 2018-05-10 2018-05-10 一种浏览器内核的处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110489679A CN110489679A (zh) 2019-11-22
CN110489679B true CN110489679B (zh) 2023-04-07

Family

ID=68543221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810444901.8A Active CN110489679B (zh) 2018-05-10 2018-05-10 一种浏览器内核的处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110489679B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416496A (zh) * 2020-11-24 2021-02-26 平安普惠企业管理有限公司 页面展示方法、装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8887039B2 (en) * 2008-01-02 2014-11-11 Microsoft Corporation Web page based program versioning
CN101655863A (zh) * 2009-04-24 2010-02-24 北京搜狗科技发展有限公司 在浏览器中加载网页的方法及浏览器
CN103500194A (zh) * 2013-09-17 2014-01-08 北京奇虎科技有限公司 一种进行网页加载的方法、装置和浏览器
CN103645946A (zh) * 2013-11-19 2014-03-19 北京奇虎科技有限公司 处理浏览器内核信息的方法及设备
CN104951326B (zh) * 2014-03-31 2020-06-30 腾讯科技(深圳)有限公司 网页访问方法及装置
CN106354484A (zh) * 2015-07-16 2017-01-25 中兴通讯股份有限公司 一种浏览器兼容方法及浏览器
CN105607928B (zh) * 2015-12-18 2019-03-01 北京奇虎科技有限公司 用于浏览器内核的支持方法和网页的显示方法以及装置

Also Published As

Publication number Publication date
CN110489679A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
US20210191996A1 (en) Method for displaying application page, non-transitory storage medium and electronic device
US10186244B2 (en) Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit
US9800609B2 (en) Method, device and system for detecting malware in a mobile terminal
CN108287918B (zh) 基于应用页面的音乐播放方法、装置、存储介质和电子设备
CN108363528B (zh) 应用页面的启动方法、装置、存储介质及电子设备
CN109857403B (zh) 一种页面更新、页面处理方法及装置
CN107329985B (zh) 一种页面的收藏方法、装置和移动终端
CN107741844B (zh) 一种应用安装包的生成方法和装置
CN107247691B (zh) 一种文本信息的显示方法、装置、移动终端及存储介质
CN106502703B (zh) 一种函数调用方法和装置
CN108549568B (zh) 应用入口处理方法、装置、存储介质及电子设备
CN106775828B (zh) 应用程序安装方法及装置、计算机设备
CN110020293B (zh) 多媒体数据展示方法、装置及存储介质
US20190213241A1 (en) Web page display method and apparatus, mobile terminal, and storage medium
EP2869604B1 (en) Method, apparatus and device for processing a mobile terminal resource
CN109800030B (zh) 一种应用程序运行方法、装置及终端
US20150007067A1 (en) Method and system for generating a user interface
CN108182090B (zh) 基于blink内核的Flash插件加载方法及装置
CN106095423B (zh) 提供浏览服务的方法、终端及服务器
CN108563476B (zh) 应用程序运行方法、装置、存储介质及电子设备
CN110674444A (zh) 一种动态网页下载的方法及终端
CN109145598B (zh) 脚本文件的病毒检测方法、装置、终端及存储介质
CN110489679B (zh) 一种浏览器内核的处理方法、装置及存储介质
CN110287443B (zh) 一种页面数据展示的方法以及相关装置
CN116594616A (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
GR01 Patent grant
GR01 Patent grant