发明内容
本发明提供了一种网页的修复方法,用以实现在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期,所述方法应用于包含浏览器的客户端中,所述客户端中预设包含指定服务器的地址的数据文件,所述方法至少包括:
在检测到所述浏览器启动时,所述客户端通过所述浏览器加载并解析所述数据文件;
所述客户端根据解析结果向所述指定服务器发送修复数据请求信息,并根据所述指定服务器返回的修复数据应答信息获取修复数据的下载链接;
所述客户端通过所述浏览器从所述下载链接获取所述修复数据,以使所述浏览器利用所述修复数据对异常网页进行修复。
优选的,所述数据文件的格式具体为JS文件格式,所述客户端通过所述浏览器加载并解析所述数据文件,具体为:
通过所述浏览器的JS插件加载并解析所述数据文件,获取指向所述指定服务器的网络链接。
优选的,所述客户端根据解析结果向所述指定服务器发送修复数据请求信息,具体为:
通过所述浏览器向所述网络链接发送获取所述修复数据的HTTP请求。
优选的,所述根据所述指定服务器返回的修复数据应答信息获取修复数据的下载链接,具体为:
通过所述浏览器接收所述指定服务器返回的所述修复数据应答信息,所述修复数据应答信息的格式具体为JS文件格式;
通过所述浏览器的JS插件加载并解析所述修复数据应答信息,获取所述修复数据的下载链接。
优选的,所述修复数据的格式具体为JS文件格式,所述客户端通过所述浏览器从所述下载链接获取所述修复数据之后,所述方法还包括:
重新启动所述浏览器,并指示所述浏览器的JS插件加载所述修复数据。
相应的,本申请还提出一种客户端,所述客户端包含浏览器,所述客户端中预设包含指定服务器的地址的数据文件,所述客户端包括:
解析模块,在检测到所述浏览器启动时,通过所述浏览器加载并解析所述数据文件;
获取模块,根据解析结果向所述指定服务器发送修复数据请求信息,并根据所述指定服务器返回的修复数据应答信息获取修复数据的下载链接;
下载模块,通过所述浏览器从所述下载链接获取所述修复数据,以使所述浏览器利用所述修复数据对异常网页进行修复。
优选的,所述数据文件的格式具体为JS文件格式,所述解析模块具体用于:
通过所述浏览器的JS插件加载并解析所述数据文件,获取指向所述指定服务器的网络链接。
优选的,所述获取模块具体用于:
通过所述浏览器向所述网络链接发送获取所述修复数据的HTTP请求。
优选的,所述获取模块具体用于:
通过所述浏览器接收所述指定服务器返回的所述修复数据应答信息,所述修复数据应答信息的格式具体为JS文件格式;
通过所述浏览器的JS插件加载并解析所述修复数据应答信息,获取所述修复数据的下载链接。
优选的,所述修复数据的格式具体为JS文件格式,所述客户端还包括:
重启模块,重新启动所述浏览器,并指示所述浏览器的JS插件加载所述修复数据。
通过应用本申请的技术方案,首先在客户端中预设包含指定服务器的地址的数据文件;在检测到浏览器启动时,客户端通过浏览器加载并解析该数据文件;客户端根据解析结果向指定服务器发送修复数据请求信息,并根据指定服务器返回的修复数据应答信息获取修复数据的下载链接;客户端通过浏览器从上述下载链接下载修复数据,以使所述浏览器利用下载的修复数据对异常网页进行修复。可见,由于客户端能够自动的下载修复数据,并利用修复数据对网页进行修复,从而实现了在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期,提高了用户的使用体验。
具体实施方式
如背景技术所述,在现有技术中,一般在网页的Server端来对异常网页进行修复。由于需要在Server端逐一对不同平台的客户端做适配,使得修复的成本很高,修复的时间周期也很长。并且,对于网络通用网页,Server端并不会对存在问题的网页进行修复。随着网络平台的多样化,在Server端来对异常网页进行修复,变得越来越难以实现。此外,现有技术中还采用将显示异常的网页屏蔽的方法,然而这只是一种逃避问题的方法,而并非是解决问题的方法。因此,倘若能够在客户端实现对异常网页的修复,将会极大的减少修复的周期和成本。
因此,为了解决背景技术中的上述问题,本申请提供了一种网页的修复方法,用以实现在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期。首先在客户端中预设包含指定服务器的地址的数据文件;在检测到浏览器启动时,客户端通过浏览器加载并解析该数据文件;客户端根据解析结果向指定服务器发送修复数据请求信息,并根据指定服务器返回的修复数据应答信息获取修复数据的下载链接;客户端通过浏览器从上述下载链接下载修复数据,以使所述浏览器利用下载的修复数据对显示异常网页进行修复。可见,由于客户端能够自动的下载修复数据,并利用修复数据对网页进行修复,从而实现了在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期,提高了用户的使用体验。
如图1所示为申请提出的一种网页的修复方法的流程示意图,需要说明的是,本申请应用于包含浏览器的客户端中,并且在客户端中预设包含指定服务器的地址的数据文件。具体的,所述方法包括以下步骤:
S101,在检测到所述浏览器启动时,客户端通过浏览器加载并解析数据文件。
对于显示异常的网页,可以通过修复数据来对其进行修复,然而在现有的客户端中,不存在获取修复数据的机制,因而往往无法在客户端处,实现将异常网页修复。
为了能够更加简便的让客户端获取修复数据,在本申请中,将修复数据储存在服务器中,并且在客户端上相应的设置获取修复数据的机制。从而使得客户端能够从服务器处获取修复数据。客户端在获取了服务器处的修复数据后,就能够通过修复数据来对异常网页进行修复了。
基于以上论述,在本申请的实施例中,客户端中预先储存包含指定服务器的地址的数据文件。数据文件的作用在于指出指定服务器的地址信息,以便客户端能够准确的向服务器发送修复数据请求信息,进而获取到修复数据。
随着网页来源的变化,修复数据也需要随着进行更新。因此在服务器上的修复数据是会随时更新的。因此,在本申请的优选实施例中,在检测到所述浏览器启动时,客户端会通过浏览器加载并解析数据文件。通过解析数据文件的目的在于获取指定服务器的地址信息,以便于向服务器发送修复数据请求信息。
浏览器中的JS插件(JSpiugin),具备数据下载功能。在本申请的优选实施例中,服务器处的修复数据就是通过浏览器的JS插件下载到客户端的。并且当通过JS插件下载修复数据时,上述的步骤S101,可以具体为:客户端通过浏览器的JS插件加载并解析数据文件,获取指向指定服务器的网络链接。其中,数据文件的格式为JS文件格式,以便JS插件能够对其进行读取。
可见通过以上的设定方法,在每次启动浏览器时,都将触发向服务器获取修复数据,从而保证能让客户端能够获取服务器当前最新的修复数据,进而能够保证准确的将显示异常的网页修复。
需要说明的是,上述提出的通过JS插件下载修复数据的方法,只是本申请提出的一种优选实施方案,基于本申请的核心思想,本领域技术人员还可以采用其他将修复数据下载的方法,这并不会影响本申请的保护范围。
S102,客户端根据解析结果向指定服务器发送修复数据请求信息,并根据指定服务器返回的修复数据应答信息获取修复数据的下载链接。
在本申请的实施例中,在通过浏览器加载并解析数据文件之后,客户端能够获取数据文件中包含的指定服务器的地址信息。之后,客户端便能够向该指定服务器发送修复数据请求信息,以请求当前服务器内的修复数据。
服务器在接收到客户端发送的修复数据请求信息后,将核对自身存储的修复数据,生成修复数据应答信息,并且将其发送给客户端。其中,修复数据应答信息当中储存有修复数据的下载链接信息。
在本申请的实施例中,客户端在接收到服务器返回的修复数据应答信息之后,将会对修复数据应答信息进行解析,获取修复数据的下载链接。之后,客户端就能够从该下载链接,获取修复数据了。
通过以上客户端与服务器之间的交互过程,客户端能够从服务器处获取修复数据的下载链接,进一步的,客户端能够从该下载链接获取服务器处的修复数据,进而通过该修复数据能够实现了在客户端将显示异常的网页修复。
在本申请的优选实施例中,上述客户端根据解析结果向指定服务器发送修复数据请求信息,可以具体为:通过浏览器向服务器的网络链接发送获取修复数据的HTTP请求。
HTTP请求是浏览器内常用的请求数据的机制,在本申请的优选实施例中,正是利用浏览器内的数据请求机制,向服务器请求修复数据,大大的简化了修复数据的请求流程。
需要说明的是,上述公开的通过HTTP请求修复数据的方案,只是本申请提出的一种优选的实施方案,基于本申请的核心思想,本领域技术人员还能够采用其他请求修复数据的方法,这并不会影响本申请的保护范围。
在本申请的优选实施例中,上述客户端根据指定服务器返回的修复数据应答信息获取修复数据的下载链接,可以具体的由以下的步骤来实现:
(1)通过浏览器接收指定服务器返回的修复数据应答信息,其中,修复数据应答信息的格式具体为JS文件格式。
首先,通过浏览器接收指定服务器返回的修复数据应答信息,并且在本申请的优选实施例中,修复数据应答信息的格式具体为JS文件格式。此时,可以通过浏览器内的JS插件对修复数据应答信息进行解析,获取修复数据应答信息内包含的修复数据的下载链接信息。
(2)通过浏览器的JS插件加载并解析修复数据应答信息,获取修复数据的下载链接。
在接收了修复数据应答信息之后,将通过浏览器的JS插件加载并解析修复数据应答信息,获取修复数据应答信息内包含的修复数据的下载链接。之后,就能够通过该下载链接,从服务器处获取修复数据。
需要说明的是,上述公开的获取修复数据的下载链接的方案,只是本申请提出的一种优选的实施方案,基于本申请的核心思想,本领域技术人员还能够采用其他获取修复数据的下载链接的方案,这并不会影响本申请的保护范围。
S103,客户端通过浏览器从修复数据的下载链接获取修复数据,以使浏览器利用修复数据对异常网页进行修复。
在本申请的实施例中,客户端在获取了修复数据的下载链接之后,将通过浏览器打开修复数据的下载链接,并将修复数据下载下来。之后,浏览器便能够利用修复数据来对显示异常的网页进行修复了。
需要说明的是,上述提到的修复数据用于调整异常网页在客户端上的显示方式,实现异常网页在客户端上的适配显示。修复数据是根据异常网页在客户端上具体的显示异常情况生成。在生成修复数据之后,将其上传到服务器,供客户端下载。客户端通过利用修复数据对异常网页进行重构后,实现了对异常网页的修复。
在本申请的优选实施例中,修复数据的格式具体为JS文件格式,客户端通过浏览器从获取所述修复数据之后,还包括:重新启动浏览器,并指示浏览器的JS插件加载所述修复数据。在JS插件加载了修复数据之后,就能够利用修复数据对异常网页进行修复了。
由以上具体流程的描述可知,通过应用本申请的技术方案,首先在客户端中预设包含指定服务器的地址的数据文件;在检测到浏览器启动时,客户端通过浏览器加载并解析该数据文件;客户端根据解析结果向指定服务器发送修复数据请求信息,并根据指定服务器返回的修复数据应答信息获取修复数据的下载链接;客户端通过浏览器从上述下载链接下载修复数据,以使所述浏览器利用下载的修复数据对异常网页进行修复。可见,由于客户端能够自动的下载修复数据,并利用修复数据对异常网页进行修复,从而实现了在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期,提高了用户的使用体验。
为了进一步阐述本发明的技术思想,现结合具体的实施流程,对本发明的技术方案进行说明。
网页的显示和操控,都是通过Javascript逻辑来实现的。本申请正是通过对异常网页进行逻辑重构,利用客户端上浏览器中现有的JS引擎解析机制和原理,实现对异常网页的修复。
本申请依赖于客户端现有的机制,特别是userjs机制和jsplugin机制。再通过这两种机制与后台HiCloud Server产生交互,实现终端异常网页修复。
HiCloud Server是云端服务器,基于此平台可以存放现有的数据。通过http访问的形式,可以从Hicloud终端获取这些文件信息。http访问的方式有多种,可以通过C访问,也可以通过js进行访问。考虑到简洁性,以及方便性,一般通过JS的方式来下载数据。
基于以上的论述,如图2所示,为本申请具体实施例的整体流程图,主要描述了客户端从请求网页到完成显示加载过程中,客户端和服务器的基本工作流程。由图可知,包括以下的步骤:
(1)客户端通过HTML表单或者超链接请求指向一个应用程序的URL。
(2)服务器收到用户的请求。
(3)服务器执行已接受创建的指定应用程序。
(4)应用程序通常是基于用户输入的内容,执行所需要的操作。
(5)应用程序把结果格式化为网络服务器和客户端能够理解的文档,即我们所说的HTML网页。
(6)网络服务器最后将结果返回到客户端中。
(7)客户端解析网页数据并在终端显示。
简单对以上的工作原理进行归纳,就是客户端向Server端请求数据,Server将数据返回给客户端,客户端加载网页数据。在本申请中,正是利用客户端加载网页时的解析机制来修复网页。
如图3所示,为本申请基本的模块架构示意图,主要表现了客户端和服务器的主要功能模块,以及相互之间的关系。由图可知,各个重要部分的主要作用如下:
(1)HiCloud是后台Server,它存放修复网页内容的数据。当客户端启动或者加载网页时,就会从该Server更新数据。
需要说明的是,上述提到的修复数据用于调整异常网页在客户端上的显示方式,实现异常网页在客户端上的适配显示。修复数据是根据异常网页在客户端上具体的显示异常情况生成。在生成修复数据之后,将其上传到服务器,供客户端下载。客户端通过利用修复数据对异常网页进行重构后,实现了对异常网页的修复。
(2)JSplugin是客户端端插件,具备数据下载的功能。服务器端的修复数据,就是通过它来下载到本地。
(3)Browser SDK是Hisense封装内容,以便于更好的在平台上运行。
(4)Browser Engine是客户端核心模块,包含客户端所有的基本功能,包括视频播放/页面显示/JS解析等都是由它来完成。当客户端启动时,它会将当前从Server端更新下来的数据进行解析,最后将修复之后的网页再重构并显示出来。
如图4所示,为本申请具体实施例的详细流程图,说明了本申请的实现机制和原理。由图可知,主要包括以下的步骤:
(1)加载本地JS文件,该文件暂命名为patch_downlaod.js。此文件定义了update_check函数,客户端通过JS引擎解析该函数,向HiCloud Server请求数据。此文件存放在/tmp/browser/opera_home/usejs目录下,Browser运行时加载该目录下的文件。
(2)Browser解析patch_download.js。
(3)Browser向HiCloud Server发送HTTP请求js_patch_list.json。
(4)Browser解析js_patch_list.json,获取需要下载的文件信息
(5)Browser通过调用Jsplugin模块下载Server端JS文件到本地目录“/tmp/browser/opera_home/userjs”。
(6)Browser重新启动,或者刷新网页,新的JS会被加载,相关异常网页会被修。
可见,通过以上具体的流程,在启动浏览器时,就会触发向服务器获取修复数据,从而能够保证浏览器能够获取服务器当前最新的修复数据。
由以上具体实施方式的描述可知,通过应用本申请的技术方案,首先在客户端中预设包含指定服务器的地址的数据文件;在检测到浏览器启动时,客户端通过浏览器加载并解析该数据文件;客户端根据解析结果向指定服务器发送修复数据请求信息,并根据指定服务器返回的修复数据应答信息获取修复数据的下载链接;客户端通过浏览器从上述下载链接下载修复数据,以使所述浏览器利用下载的修复数据对异常网页进行修复。可见,由于客户端能够自动的下载修复数据,并利用修复数据对异常网页进行修复,从而实现了在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期,提高了用户的使用体验。
为了达到以上的技术目的,本申请提出一种客户端,所述客户端包含浏览器,所述客户端中预设包含指定服务器的地址的数据文件,所述客户端包括:
解析模块501,在检测到所述浏览器启动时,通过所述浏览器加载并解析所述数据文件;
获取模块502,根据解析结果向所述指定服务器发送修复数据请求信息,并根据所述指定服务器返回的修复数据应答信息获取修复数据的下载链接;
下载模块503,通过所述浏览器从所述下载链接获取所述修复数据,以使所述浏览器利用所述修复数据对异常网页进行修复。
在具体的应用场景中,所述数据文件的格式具体为JS文件格式,所述解析模块具体用于:
通过所述浏览器的JS插件加载并解析所述数据文件,获取指向所述指定服务器的网络链接。
在具体的应用场景中,所述获取模块具体用于:
通过所述浏览器向所述网络链接发送获取所述修复数据的HTTP请求。
在具体的应用场景中,所述获取模块具体用于:
通过所述浏览器接收所述指定服务器返回的所述修复数据应答信息,所述修复数据应答信息的格式具体为JS文件格式;
通过所述浏览器的JS插件加载并解析所述修复数据应答信息,获取所述修复数据的下载链接。
在具体的应用场景中,所述修复数据的格式具体为JS文件格式,所述客户端还包括:
重启模块,重新启动所述浏览器,并指示所述浏览器的JS插件加载所述修复数据。
由以上具体设备的描述可知,通过应用本申请的技术方案,首先在客户端中预设包含指定服务器的地址的数据文件;在检测到浏览器启动时,客户端通过浏览器加载并解析该数据文件;客户端根据解析结果向指定服务器发送修复数据请求信息,并根据指定服务器返回的修复数据应答信息获取修复数据的下载链接;客户端通过浏览器从上述下载链接下载修复数据,以使所述浏览器利用下载的修复数据对异常网页进行修复。可见,由于客户端能够自动的下载修复数据,并利用修复数据对异常网页进行修复,从而实现了在客户端将显示异常的网页修复,进而降低网页修复的成本和时间周期,提高了用户的使用体验。
最后说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。