CN107977371A - 页面元素的请求方法、显示方法及客户端 - Google Patents
页面元素的请求方法、显示方法及客户端 Download PDFInfo
- Publication number
- CN107977371A CN107977371A CN201610921286.6A CN201610921286A CN107977371A CN 107977371 A CN107977371 A CN 107977371A CN 201610921286 A CN201610921286 A CN 201610921286A CN 107977371 A CN107977371 A CN 107977371A
- Authority
- CN
- China
- Prior art keywords
- access request
- page elements
- server
- page
- sub
- 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; 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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施方式公开了一种页面元素的请求方法、显示方法及客户端。其中,所述请求方法包括:拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务;获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素;通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求;通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据。本申请实施方式提供的一种页面元素的请求方法、显示方法及客户端,能够提高应用程序对页面元素的加载速度。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种页面元素的请求方法、显示方法及客户端。
背景技术
随着终端设备的不断发展,在终端设备上可以运行越来越多的应用程序。当应用程序在终端设备上运行时,通常需要从所述应用程序的后台业务服务器加载当前页面中待显示的页面元素。所述页面元素例如可以包括图片、视频、文字等。
当前,在从后台业务服务器中加载页面元素时,通常可以由终端设备中的线程来进行页面元素请求、页面元素下载以及对下载的页面元素进行处理等过程。
现有技术中,终端设备中运行的应用程序,通常会具有一个主线程。并通过该主线程进行与后台服务器通信,以及进行应用程序的页面渲染等工作。如此,使得应用程序在运行过程中,可能会出现因为数据尚未准备好,导致的页面卡顿现象。可能会导致用户体验较差。
发明内容
本申请实施方式的目的是提供一种页面元素的请求方法、显示方法及客户端,能够提高应用程序对页面元素的加载速度。
为实现上述目的,本申请实施方式提供一种页面元素的请求方法,所述方法包括:拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务;获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素;通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求;通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据。
为实现上述目的,本申请实施方式还提供一种客户端,所述客户端包括:显示器,用于显示页面信息;处理器,用于拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务;获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素;通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求;通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据;通过主线程对所述响应数据中的目标页面元素进行渲染,以将所述目标页面元素显示于所述显示器上的预设页面中。
为实现上述目的,本申请实施方式还提供一种页面元素的显示方法,所述方法包括:向服务器发出针对页面元素的访问请求;接收所述服务器反馈的具有第一数据格式的页面元素;将所述页面元素从所述第一数据格式转换成第二数据格式;其中,所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量;显示具有所述第二数据格式的页面元素。
为实现上述目的,本申请实施方式还提供一种客户端,所述客户端包括:网络通信模块,用于进行网络数据通信;处理器,用于控制所述网络通信模块向服务器发出针对页面元素的访问请求;控制所述网络通信模块接收所述服务器反馈的具有第一数据格式的页面元素;将所述页面元素从所述第一数据格式转换成第二数据格式;其中,所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量;显示器,用于显示具有所述第二数据格式的页面元素。
由以上本申请实施方式提供的技术方案可见,本申请实施方式可以通过子线程向服务器发起针对页面元素的访问请求。如此,减少了主线程的工作负荷。这样,可以将主线程主要用于与页面渲染相关的工作。从而实现了应用程序的页面响应速度。再者,另一方面,本申请实施方式可以从服务器中获取数据量较小的具备第一数据格式的页面元素,然后在客户端处进行显示时,可以将所述页面元素从所述第一数据格式转换成第二数据格式,从而可以展示具有所述第二数据格式的页面元素。由于从服务器处读取的页面元素的数据量较小,因此也可以提高页面元素的加载速度。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式中页面元素的请求方法流程图;
图2为本申请实施方式中在本地匹配页面元素的步骤流程图;
图3为本申请实施方式提供的一种客户端的结构示意图;
图4为本申请实施方式提供的一种页面元素的显示方法流程图;
图5为本申请实施方式提供的一种客户端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
本申请以下实施方式提供的技术方案可以应用于客户端和服务器的交互系统中。其中,所述客户端可以包括具有数据信息处理功能和数据信息存储功能的硬件设备。所述硬件设备例如可以包括计算机(台式计算机、便携式计算机)、智能手机、平板电脑、智能可穿戴设备等。在所述硬件设备中可以安装驱动所述硬件设备工作所必须的软件。所述软件例如可以包括操作系统、应用程序等。所述客户端可以提供有预定端口,通过该预定端口可以向所述服务器发送信息。例如,所述客户端可以基于HTTP、TCP/IP或FTP等网络协议以及网络通信模块与所述服务器进行网络数据交互。
所述服务器可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的软件。所述服务器同样可以提供有预定端口,通过该预定端口可以向所述客户端发送信息。例如,所述服务器可以基于HTTP、TCP/IP或FTP等网络协议以及网络通信模块与所述客户端进行网络数据交互。所述服务器中可以存储所述客户端屏幕上显示的页面中的页面元素。
请参阅图1,本申请实施方式提供一种页面元素的请求方法,所述方法可以包括以下步骤。
步骤S11:拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务。
在本实施方式中,客户端可以响应用户的操作,产生第一访问请求。或者,客户端在加载程序代码过程中,由执行该程序代码本身的内容,产生了第一访问请求。具体的,例如,用户使用手机运行手机京东时,点击某一个商品链接。客户端会响应该点击事件,针对该商品链接生成第一访问请求。
在本实施方式中,可以拦截客户端向服务器发出的全部访问请求。也可以为,当访问请求中附带有预设资源标识时,才对访问请求进行拦截。还可以为,仅针对某一线程产生的访问请求进行拦截。其中,该预设资源标识可以表示访问请求指向的页面元素的类型。具体的,例如,预设资源标识可以为页面元素的扩展名。比如,扩展名可以为“jpg”、“bmp”、“webp”、“txt”、“doc”、“rmvb”、“MP3”等等不再列举。例如,客户端为iOS系统时,针对Webcore(主线程)产生的访问请求进行拦截。
在本实施方式中,拦截访问请求,可以理解为:在客户端中可以设置有监听程序,该监听程序用于监听其它代码是否产生了访问请求。如果监听到客户端执行的代码产生了访问请求,可以进一步调用拦截程序,该拦截程序可以阻止访问请求通过客户端的通信端子发出。使得客户端内部可以针对该访问请求进行进一步处理。如此设置,可以使得各业务模块在开发过程中,可以仅仅关注其自身的业务逻辑实现,而无需关注客户端如何与服务器之间通信。而可以专门针对客户端和服务器之间的通信过程中,设置相应的处理工作,以优化客户端与服务器之间的通信工作。当然,也可以为,客户端中不设置有监听程序,而通过拦截程序,拦截全部的访问请求。进一步的,针对拦截部分访问请求的场景,可以在监听程序、拦截程序中设置至少一个判断条件,以判断是否针对访问请求进行拦截。具体地,所述判断条件可以为判断访问请求中是否携带预设资源标识。所述预设资源标识可以为上述的页面元素的扩展名。监听程序可以在判定访问请求中携带所述预设资源标识时,调用拦截程序对该访问请求进行拦截。又例如,所述判断条件可以为判断访问请求是否由主线程发出。所述主线程可以为iOS系统中的WebCore线程。监听程序可以在判定访问请求由WebCore线程发出时,调用拦截程序对该访问请求进行拦截,以对该访问请求进行进一步处理。
在本实施方式中,所述第一访问请求可以由客户端操作系统中的预设系统来处理。所述预设系统可以是操作系统中预先设置的并且用于处理由客户端向外发出的访问请求的子系统。例如,所述预设系统可以是iOS系统中的URL Loading System。在本实施方式中,可以在所述URL Loading System中注册NSURLProtocol,因此经过所述URL LoadingSystem处理的访问请求均需要被所述NSURLProtocol进行检测。具体地,所述NSURLProtocol可以对各个访问请求中包含的资源标识进行识别,当识别出的资源标识为预设资源标识时,则可以拦截具备所述预设资源标识的访问请求。
在本实施方式中,所述第一访问请求可以是根据预设格式进行编写的报文(message)。在所述第一访问请求中,可以包括预设数量的字段,各个字段均可以填充不同的内容。例如,所述第一访问请求中可以包括源IP字段、目的IP字段以及资源标识字段等。其中,源IP字段可以填充发送所述第一访问请求的客户端的IP地址,所述目的IP字段可以填充待接收所述第一访问请求的服务器的IP地址,所述资源标识字段中可以填充所述页面元素对应的资源标识。
在本实施方式中,当用户在客户端中打开应用程序的某个页面时,在该页面上可以包括至少一个待加载的页面元素。所述页面元素可以是待渲染的数据,当所述页面元素加载至所述客户端中,可以由所述客户端对所述页面元素进行渲染,从而能够展示在所述应用程序的当前页面上。
在本实施方式中,应用程序的当前页面上待加载的页面元素可以与该页面元素的访问地址相关联。页面元素与访问地址的这种关联关系可以存储于当前页面中。当所述当前页面在客户端的屏幕上展示时,客户端就可以自动根据与所述页面元素相关联的访问地址来构建访问请求。这样,包含所述页面元素的访问地址的访问请求便可以指向所述页面元素。具体地,所述访问地址可以是所述页面元素的统一资源定位符(Uniform ResoureLocator,URL),所述统一资源定位符可以指定所述页面元素存储的服务器地址和在服务器中的存储路径,这样,根据所述统一资源定位符便可以从服务器处获取所述页面元素。
在本实施方式中,所述第一访问请求中可以包括用于请求目标页面元素的任务。所述任务可以为第一访问请求指向下载至少一个页面元素。具体的,在第一访问请求中可以具有页面元素的访问地址。或者,第一访问请求中具有页面的访问地址,服务器可以根据该页面的访问地址,进一步提供该页面中的页面元素。具体的,例如,用户在打开手机京东时,手机京东的内部执行代码可以自动生成手机京东首页的访问请求。在该访问请求中可以包括手机京东首页中预先设置的至少一个页面元素。例如,所述至少一个页面元素可以包括京东超市、全球购、服装城等门户页面的图片缩略图。手机京东在自动生成首页的访问请求后,可以向手机京东的服务器发送该访问请求。服务器在接收到该访问请求后,便可以获取手机京东首页中预先设置的至少一个页面元素,并将获取的页面元素反馈至手机京东客户端,从而在手机京东首页上展示这些页面元素。当然,所述访问请求还可以只针对一个页面元素。例如,用户在使用手机京东客户端时,可以点击当前页面中的一个产品的缩略图,以查看该产品的高清大图。当用户点击该缩略图时,便可以在手机京东客户端中生成一个指向该产品的高清大图的访问请求。该访问请求可以被发送至手机京东的后台业务服务器,从而可以从后台业务服务器处获取该产品的高清大图,并反馈至手机京东客户端,以展示给用户观看。
步骤S13:获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素。
在本实施方式中,为了能够提高应用程序对页面元素的加载速度,可以让客户端的主线程负责对目标页面元素的渲染。而涉及目标页面元素的耗时操作(例如发送请求所述目标页面元素的访问请求、下载所述目标元素等),可以由客户端的子线程来处理。这样,客户端的主线程便不会有过多负载,从而能够提高对页面元素的渲染效率。
在本实施方式中,所述第一访问请求原本可能是由主线程来发送的。为了使得发送访问请求的过程均在子线程中进行,可以对所述第一访问请求进行处理,以生成能够由子线程进行发送的第二访问请求。在本实施方式中,可以检测发送所述第一访问请求的线程类型,并根据检测的结果生成第二访问请求。具体地,当检测的线程类型为子线程时,可以复制第一访问请求的内容,从而生成第二访问请求。当检测的线程类型为主线程时,可以从所述第一访问请求中提取用于请求目标页面元素的任务,并根据所述用于请求目标页面元素的任务,重新生成由子线程发送的第二访问请求。在本实施方式中,检测发送所述第一访问请求的线程类型的方式可以包括检测所述第一访问请求中携带的线程编号,并判断所述线程编号对应的线程类型。在本实施方式中,线程编号与线程类型之间的对应关系可以是预先指定的,并可以存储于数据表中。这样,在判定所述第一访问请求中的线程编号对应的线程类型为主线程时,可以将所述第一访问请求中的线程编号替换为子线程的线程编号,从而生成所述第二访问请求。这样,所述第二访问请求后续可以由子线程进行发送。在本实施方式中,还可以通过客户端中的监控程序对发送第一访问请求的线程进行监控。所述监控程序例如可以为iOS系统中的URL Loading System。
在本实施方式中,所述第二访问请求中携带的任务还可以是用于获取所述目标页面元素的任务。这样,所述第二访问请求便可以由子线程发送,以获取所述目标页面元素。
步骤S15:通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求。
在本实施方式中,所述并发多线程队列中可以包括多个子线程,其中,各个子线程可以对应各自需要处理的任务。在本实施方式中,各个子线程均可以具备线程编号,这样,不同的任务可以根据携带的线程编号,由对应的子线程进行处理。此外,各个子线程还可以由客户端中的调用程序进行管控。在客户端中生成访问请求时,所述调用程序可以针对该访问请求,从所述并发多线程队列中调用一个子线程,并通过调用的子线程发送该访问请求。具体地,所述调用程序从并发多线程队列中调用子线程的方式可以包括随机调用一个子线程或者按照子线程在并发多线程队列中的排列顺序依次进行调用。
在本实施方式中,所述第二访问请求生成之后,所述第二访问请求中可以携带并发多线程队列中某个子线程的线程编号。这样,可以从所述并发多线程队列中查询到线程编号相匹配的子线程,并可以通过查询到的子线程将所述第二访问请求发送至所述服务器处。
在本实施方式中,在所述第二访问请求生成之后,还可以通过上述的调用程序,从并发多线程队列中按照子线程的排列顺序,调用排列最靠前的子线程,并通过调用的子线程发送所述第二访问请求。
步骤S17:通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据。
在本实施方式中,服务器接收到所述子线程发来的第二访问请求之后,可以提取所述第二访问请求中的用于获取目标页面元素的任务。所述任务中可以包含所述目标页面元素在服务器中的存储名称,也可以包含所述目标页面元素在服务器中的存储路径,还可以包含所述目标页面元素在服务器中的存储编号。这样,通过所述用于请求目标页面元素的任务,所述服务器便可以读取存储的目标页面元素。从而可以将所述目标页面元素反馈至所述子线程处。这样,客户端便可以通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据。
在本实施方式中,所述响应数据可以是包含所述目标页面元素的报文。所述响应数据中除了所述目标页面元素之外,还可以包含报文中常见的构成部分。例如,所述响应数据中还可以包括源IP字段和目的IP字段。其中,源IP字段可以填充发送所述响应数据的服务器的IP地址,所述目的IP字段可以填充待接收所述响应数据的客户端的IP地址。
这样,通过所述响应数据,所述子线程便可以获取所述目标页面元素。在本实施方式中,所述子线程可以将所述响应数据提供给主线程,并由所述主线程对所述响应数据中的目标页面元素进行渲染,以在客户端的预设页面中展示所述目标页面元素。所述预设页面例如可以是客户端当前显示的页面。
在一个具体应用场景中,用户在使用手机应用时,看到当前页面上显示的机械键盘的产品缩略图。用户想要查看该机械键盘的高清大图,以了解机械键盘外观的更多细节。此时,用户可以点击该缩略图。在用户点击该缩略图时,手机应用可以生成用于请求该机械键盘高清大图的访问请求。该访问请求在生成之后,可以由手机的主线程WebCore线程将该访问请求向手机应用的后台业务服务器发送。此时,手机的iOS系统中的URL LoadingSystem程序监听到该访问请求的发送主体是WebCore线程时,可以拦截该访问请求。这样,该访问请求无法通过手机的通信端子向外发送。进一步地,手机应用可以将该访问请求中用于请求机械键盘高清大图的任务提取出来,并重新生成新的访问请求。新生成的访问请求中同样包括用于请求机械键盘高清大图的任务。此时,手机应用可以从并发多线程队列中,调用排序最靠前的子线程,并通过调用的子线程将新生成的访问请求发送至后台业务服务器处。这样,后台业务服务器便可以根据新生成的访问请求,从存储器中获取所述机械键盘的高清大图,并通知手机应用下载该高清大图。这样,手机应用可以通过所述子线程下载所述高清大图。下载完毕的高清大图可以交由WebCore线程进行渲染,从而可以将高清大图展示于手机应用的当前页面上,以供用户观看。
在本申请一个实施方式中,在拦截第一访问请求之前,可以判断向服务器发出的第一访问请求是否具备访问权限。当所述第一访问请求不具备访问权限时,才拦截所述第一访问请求。
在本实施方式中,所述访问权限可以是附加于所述第一访问请求中的一个标识。携带该标识的访问请求可以不被拦截,从而可以直接发送至所述服务器处。设置所述访问权限的意义在于,当子线程需要从服务器处下载所述页面元素时,由子线程发出的访问请求不应当被拦截。而判定不拦截访问请求的依据便可以是所述访问权限。当访问请求中具备所述访问权限时,表明该访问请求是由子线程发送的,从而可以不进行拦截,而是直接发送至服务器处。如果访问请求中不具备所述访问权限,则表明该访问请求是由主线程发送的。为了减轻主线程的负载,在这种情况下便可以将访问请求拦截,重新生成由子线程发送的第二访问请求。
这样,在为访问请求设置了访问权限之后,可以再次发送添加了访问权限后的访问请求。由于所述访问请求中具备了访问权限,这样,重新发送的访问请求便不会被拦截,而是可以直接发送至服务器处,以进行后续的页面元素获取过程。
在本申请一个实施方式中,为了便于统计具备访问权限的访问请求的数量,可以在客户端中预先设置标记数组。该预设标记数组中可以记录具备访问权限的访问请求。这样,当客户端生成了第一访问请求之后,可以判断向服务器发出的第一访问请求是否记录于预设标记数组中。如果记录于该预设标记数组中,则可以判定客户端生成的第一访问请求具有访问权限,从而可以直接将生成的访问请求发送至服务器处,而不需要进行拦截。相反,当所述第一访问请求没有记录于所述预设标记数组中时,则判定所述第一访问请求不具备访问权限,从而需要对第一访问请求进行拦截。
请参阅图2,在拦截向服务器发出的第一访问请求之后,所述方法还可以包括以下步骤。
步骤S21:根据所述第一访问请求获取能唯一标识所述目标页面元素的元素标识。
在本实施方式中,由于所述第一访问请求中往往包含较多的字符,通过所述第一访问请求来表示所述页面元素则会比较复杂。因此,在本实施方式中,所述子线程可以根据所述第一访问请求获取能唯一标识所述目标页面元素的元素标识。
在本实施方式中,根据所述第一访问请求获取能唯一标识所述目标页面元素的元素标识的方式可以包括按照预设字符转换算法将所述第一访问请求的字符串转换为具备固定位数的字符串。其中,所述预设字符转换算法例如可以包括安全散列算法(SecureHash Algorithm,SHA)、RACE原始完整校验信息摘要算法(RACE Integrity PrimitivesEvaluation Message Digest,RIPEMD)、消息摘要算法(Message Digest Algorithm,MD)等。所述预设字符转换算法可以将任意长度的字符串转换为固定长度的字符串。例如可以转换为16字节、20字节、32字节的字符串。
此外,在本实施方式中,可以预先为页面元素分配唯一的标识。这样,在拦截得到指向目标页面元素的第一访问请求后,可以从所述第一访问请求中获取存储所述目标页面元素的服务器名称以及存储所述目标页面元素的路径。预先为所述目标页面元素分配的唯一标识也可以与所述目标页面元素存储于同一路径下。这样,根据所述第一访问请求,便可以获取到所述唯一标识的存储路径,从而可以根据所述第一访问请求获取能唯一标识所述目标页面元素的元素标识。
步骤S23:在本地存储的页面元素中匹配得到所述元素标识指向的目标页面元素。
在本实施方式中,获取到能唯一标识所述目标页面元素的元素标识后,所述子线程可以将所述元素标识与本地存储的本地元素标识进行匹配,以确定在本地是否存储有所述目标页面元素。具体地,所述子线程可以将所述元素标识与本地元素标识进行逐一对比,从而确定本地元素标识中是否存在与所述元素标识一致的本地元素标识。当存在时,则表明本地存储有所述目标页面元素。这样,所述子线程便可以从本地获取所述元素标识指向的页面元素。
步骤S25:所述子线程构建包含所述目标页面元素的响应信息,并将所述响应信息提供给主线程。
在本实施方式中,当子线程获取到所述目标页面元素之后,可以通过客户端中的主线程对所述目标页面元素进行渲染,从而可以将所述目标页面元素显示于客户端屏幕上的当前页面中。例如,在实际应用时,可以通过iOS系统中的WebCore线程对所述目标页面元素进行渲染。由于客户端中的主线程通常根据HTTP响应信息中携带的页面元素进行渲染,因此,所述子线程可以构建包含所述目标页面元素的响应信息,并将所述响应信息提供给所述主线程。
在本实施方式中,所述HTTP响应信息可以包括两部分,一部分包括所述目标页面元素的类型、所述目标页面元素的数据长度以及指向所述目标页面元素的资源标识;另一部分则包括所述目标页面元素本身。在本实施方式中,可以从所述访问请求中提取携带的资源标识,并识别所述资源标识的所属类型。具体地,所述资源标识可以是协议名称、服务器名称、路径和文件扩展名的组合,那么所述文件扩展名便可以作为所述资源标识的后缀。在本实施方式中,可以依次读取所述资源标识中的各个字符,当读取到字符“.”时,可以将该字符后的字符串确定为所述资源标识中文件名的扩展名。根据所述扩展名,便可以确定所述资源标识的所属类型。例如,jpg、jpeg、png、webp这些扩展名可以表示所述资源标识的所属类型为图片类型。其中,webp格式的图片可以在保证图片质量相同的情况下,占用更少的存储空间。例如,在图片质量相同时,webp格式的图片所占的存储空间仅为jpeg格式的图片所占存储空间的2/3。所述资源标识的所属类型同样可以作为所述页面元素的类型。这样,在确定了所述资源标识的所属类型的同时,便可以确定所述页面元素的类型。
在本实施方式中,还可以识别所述目标页面元素的数据长度。具体地,识别所述目标页面元素的数据长度的方式可以包括逐一读取所述目标页面元素中的每个字符,并在读取的同时统计字符的位数。这样,在将所述目标页面元素中的字符读取完之后,便可以统计所述目标页面元素的字符的总位数。统计的所述总位数便可以作为所述目标页面元素的数据长度。当然,在具体应用场景中,可以采用字节来表示所述目标页面元素的数据长度。在这种情况下,可以将统计的所述总位数转换为以字节为单位的数据长度即可。
在本实施方式中,在识别了所述资源标识的所属类型和所述目标页面元素的数据长度之后,便可以根据所述资源标识的所属类型以及所述数据长度,构建响应头部数据。具体地,构建响应头部数据的方式可以包括将所述资源标识的所属类型填充于响应头部数据的Content-Type字段中,并且将所述目标页面元素的数据长度填充于响应头部数据的Content-Length字段中,这样便可以形成所述响应头部数据。
在本实施方式中,在构建了所述响应头部数据之后,便可以基于所述资源标识和所述响应头部数据,构建资源响应信息。所述资源响应信息可以作为HTTP响应信息的一部分,所述资源响应信息中可以包括所述目标页面元素的类型、所述目标页面元素的数据长度以及指向所述目标页面元素的资源标识。具体地,在实际应用中,所述资源响应信息中还可以包括HTTP响应状态码和HTTP协议版本,在添加了所述HTTP响应状态码和HTTP协议版本之后,便可以构成完整的资源响应信息。
在本实施方式中,所述HTTP响应信息可以由所述资源响应信息和所述目标页面元素构成,这样,便可以将所述资源响应信息和所述目标页面元素反馈至待显示所述目标页面元素的页面控件处。在本实施方式中,所述页面控件可以表示用于显示渲染后的页面元素的载体。例如,所述页面控件可以是运行于客户端内的浏览器。
在本实施方式中,可以通过客户端操作系统中预设的调用函数向所述页面控件返回所述资源响应信息,以告知所述页面控件即将接受的页面元素的类型、数据长度以及资源标识,然后可以向所述目标页面控件返回所述目标页面元素本身。在向目标页面控件返回了所述目标页面元素之后,便可以通知所述目标页面控件加载页面元素的流程已经结束。例如,所述预设的调用函数可以为NSURLProtocolClient。这样,所述主线程便可以获取包含所述目标页面元素的响应信息,从而能够对所述目标页面元素进行渲染。
在本申请一个实施方式中,当所述子线程在本地存储的页面元素中匹配失败时,表明无法从本地获取所述目标页面元素,在这种情况下就需要从服务器处下载所述目标页面元素。具体地,在本实施方式中,所述子线程可以为针对所述目标页面元素的访问请求设置访问权限;其中,所述访问权限表示针对所述目标页面元素的访问请求不会被拦截。
在本实施方式中,所述访问权限可以是附加于所述访问请求中的一个标识。携带该标识的访问请求可以不被拦截。设置所述访问权限的意义在于,当子线程在本地匹配不到所述页面元素时,需要从服务器处下载所述目标页面元素。因此,客户端需要再次发送用于获取所述目标页面元素的访问请求。然而,由于该访问请求中不具有访问权限,因此该访问请求依然会被拦截,从而继续执行生成元素标识、在本地匹配失败以及再次发送访问请求的过程。这样的过程会一直循环执行下去,很容易使得客户端崩溃。
在本实施方式中,为了避免出现上述的死循环,在所述元素标识与本地存储的本地元素标识匹配失败时,所述子线程可以为所述第一访问请求设置访问权限。具体地,设置访问权限的方式可以包括在所述第一访问请求中添加用于表示所述访问权限的标识。
这样,在为所述第一访问请求设置了访问权限之后,可以重新生成用于请求所述目标页面元素的访问请求,并通过所述子线程向所述服务器发送重新生成的访问请求。由于所述访问请求中具备了访问权限,这样,重新发送的访问请求便不会被拦截,而是可以直接发送至服务器处,以进行后续的页面元素获取过程。
在本申请一个实施方式中,所述子线程在向服务器获取页面元素的过程中,需要考虑终端设备的实际运行环境。因此,在本实施方式中,所述子线程可以根据待显示所述页面元素的终端设备的配置参数以及所述服务器的类型,对所述第二访问请求进行修改。
具体地,所述配置参数包括所述终端设备的屏幕尺寸参数和所述终端设备的当前网络参数。在原始的访问请求中,可以包括从服务器中待获取的页面元素的尺寸参数。所述尺寸参数例如可以是图片的长和宽,可以通过1000x1000的形式来表示。所述长和宽均可以用毫米作为单位。这样,在本实施方式中,可以提取所述第二访问请求中的尺寸参数,当所述第二访问请求中的页面元素的尺寸参数大于所述终端设备的屏幕尺寸参数时,则需要对所述页面元素的尺寸进行裁剪,才能使得页面元素的全部内容能够显示于终端设备的屏幕上。其中,所述第二访问请求中的页面元素的尺寸参数大于所述终端设备的屏幕尺寸参数可以包括页面元素的长大于终端设备屏幕的长或/和页面元素的宽大于终端设备屏幕的宽。在本实施方式中,所述终端设备的屏幕尺寸参数可以通过iOS的预设API(ApplicationProgrammingInterface,应用程序编程接口)获取。
在本实施方式中,当所述尺寸参数大于所述屏幕尺寸参数时,所述子线程可以将所述第二访问请求中的尺寸参数修改为所述屏幕尺寸参数。例如,所述第二访问请求中页面元素的尺寸参数为1000x1000,而终端设备的屏幕尺寸参数为800x600,那么可以将所述第二访问请求中的尺寸参数修改为800x600。
在本实施方式中,对于同一个页面元素,在服务器中可以存储不同尺寸的版本。例如,对于内容相同的一张图片,在服务器中可以存储800x600、1000x1000、800x800等多个版本。这样,当服务器接收到修改后的访问请求时,可以根据所述修改后的访问请求中的屏幕尺寸参数,获取与所述屏幕尺寸参数相适配的原始页面元素。
在本实施方式中,获取的原始页面元素可以是清晰度较高的页面元素,在所述原始页面元素中包含的像素点也可以较多,那么相应地,所述原始页面元素的数据量就会比较大。当终端设备所处的网络环境不同时,下载同一个数据量的页面元素所需的时间也往往不同。因此,在本实施方式中,所述子线程还可以根据终端设备的当前网络状态,对所述原始页面元素的清晰度进行修改,以使得下载修改后的页面元素能够占用较少的时间。
在本实施方式中,所述子线程可以根据所述终端设备的当前网络状态确定所述当前网络参数。具体地,所述子线程可以通过识别所述终端设备屏幕上预设位置处的网络标识,来确定所述当前网络参数。例如,所述预设位置可以在终端设备屏幕的左上角。当所述终端设备与WiFi连接时,所述预设位置处会出现表征WiFi信号强度的标识。当所述终端设备在使用移动网络时,所述预设位置处会出现表征移动网络类型的标识,所述标识例如可以为“4G”、“3G”、“E”等。
在本实施方式中,对于不同的网络类型,可以对应不同的网络参数。那么在所述子线程识别出终端设备的当前的网络类型时,便可以确定相应的当前网络参数。所述当前网络参数可以是对网络类型进行数字化处理后的数字编号。例如,WiFi网络可以用4表示,4G网络可以用3表示,3G网络可以用2表示,2G网络则可以用1表示。这样,通过当前网络参数的大小,便可以确定下载页面数据的能力。
在本实施方式中,不同的当前网络参数可以对应不同的图片质量参数。当前网络参数越大,对应的图片质量参数也可以越大。这样就表明网络状态越好,下载页面元素的能力则越强,从而可以下载清晰度较高的页面元素。在这种情况下,可以在所述访问请求中添加与所述当前网络参数相适配的图片质量参数。所述图片质量参数可以采用字母与数字结合的形式来表示。例如,清晰度最高对应的图片质量参数可以是缺省,也就是说,如果在制定资源标识中不含有图片质量参数,那么可以直接下载清晰度最高的原始页面元素。清晰度从高到底对应的图片质量参数可以分别为q75、q60和q50。字母q后面的数字越小,则表明网络状态越差,能够下载的页面元素的清晰度就越低。
在本实施方式中,所述服务器可以按照图片质量参数对所述原始页面元素进行处理,以得到反馈给子线程的页面元素。具体地,所述服务器可以根据清晰度从高到低的顺序,按照从高到低的比例来显示所述原始页面元素中的像素。例如,当所述图片质量参数为q75时,可以仅显示所述原始页面元素中75%的像素,从而减小原始页面元素的数据量。这样,在对所述原始页面数据进行像素显示处理之后,便可以得到反馈给子线程的页面元素。
在本申请一个实施方式中,为了提高从服务器处加载页面元素的速度,所述子线程向所述服务器发送的第二访问请求中可以携带第一数据格式的标识。这样,根据所述第一数据格式的标识,子线程便可以从所述服务器处获取具备第一数据格式的页面元素。在本实施方式中,所述具备第一数据格式的页面元素的数据量可以相对较小,这样便可以提高从服务器处加载页面元素的速度。例如,所述第一数据格式可以为webp格式,那么针对页面元素的访问请求中可以包含“.webp”的后缀。Webp格式是谷歌开发的一种旨在加快图片加载速度的图片格式。该图片格式相比jpeg格式而言能够节省1/3的图片体积,从而能够节省大量的带宽资源和数据存储空间。
在本申请一个实施方式中,可以根据所述访问请求中服务器的名称判断所述服务器是否存储有第一数据格式的页面元素。具体地,所述第一数据格式例如可以为webp格式。存储有webp格式图片的服务器的名称可以记录于一个数据表中,当所述访问请求中服务器的名称存在于该数据表中,则表明所述服务器中存储有webp格式的图片。这样,当所述服务器存储有所述第一数据格式的页面元素时,可以在所述原始访问请求的末尾添加表征所述第一数据格式的后缀。例如,可以在所述访问请求的末尾添加“.webp”。当所述服务中没有存储webp格式的图片时,则可以获取jpg格式的图片。
请参阅表1,表1为不同网络状态下对应的修改后的访问请求。
表1不同网络状态下对应的修改后的访问请求
从表1中可以看出,对于不同的终端设备的屏幕尺寸以及终端设备的当前网络状态,修改后的访问请求中也可以出现不同的字符串。例如在表1中,WiFi网络状态下图片质量参数时缺省的,表示可以直接从服务器处下载原始的webp格式的图片。
在本申请一个实施方式中,在对所述第二访问请求进行修改之前,为了不受其它修改结果的影响,所述子线程可以检测所述第二访问请求中是否包含优化后缀,当包含时,将所述优化后缀去除。具体地,当所述第二访问请求中存在与优化后缀相匹配的字符串时,可以将这些字符串去除。所述与优化后缀相匹配的字符串例如可以为_m、_b、_sum这样的字符串。
在本申请一个实施方式中,具备第一数据格式的页面元素通常可以具备较小的数据量,那么从服务器处下载所述具备第一数据格式的页面元素时可以占用较少的时间,从而加快页面元素加载的速度。然而,所述第一数据格式的页面元素在所述客户端中可能无法被主线程识别,从而无法进行渲染。例如,webp是谷歌开发的一种图片格式,尽管其数据量较小,但iOS系统无法识别webp格式的图片。在这种情况下,可以将所述页面元素从所述第一数据格式转换成第二数据格式,所述第二数据格式能够被所述主线程识别,从而可以对具备第二数据格式的页面元素进行渲染,以在当前页面上显示所述页面元素。
在本实施方式中,之所以不直接从所述服务器中获取具备第二数据格式的页面元素,原因在于所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量。这样,如果直接从所述服务器中获取具备第二数据格式的页面元素,便会增加下载页面元素的时间,导致加载页面元素的效率降低。
需要说明的是,在本实施方式中,从服务器下载具备第一数据格式的页面元素的过程可以在子线程中完成。此外,将所述页面元素从所述第一数据格式转换成第二数据格式的过程也可以在子线程中执行,这样就不会影响主线程渲染页面元素的效率。
在本申请一个实施方式中,所述子线程接收了页面元素之后,可以将所述页面元素存储于本地,以便后续进行调用。由于本地存储器的存储空间有限,不太可能将之前加载过的页面元素一直存储。因此,在本实施方式中,所述子线程可以为各个页面元素设置过期时间参数,以用于按照所述过期时间参数自动删除所述页面元素。所述过期时间参数可以是一个绝对的时间节点。例如2018年12月5日14点05分,那么当客户端的系统时间达到该绝对的时间节点时,所述页面元素便可以自动从客户端的存储器中删除。此外,所述过期时间参数还可以是一个相对的时间段。例如12小时,那么从所述页面元素开始存储的时刻算起,度过12小时之后,所述页面元素便可以自动从客户端的存储器中删除。
在本实施方式中,为了不额外占用客户端的存储空间,可以将所述过期时间参数存储于所述页面元素的预设字段中,而不是存储于客户端的磁盘中。所述预设字段例如可以是NSFileModificationDate字段。所述NSFileModificationDate字段是页面元素的一个固有属性,当把过期时间参数在所述NSFileModificationDate字段中存储后,就不需要用多余的磁盘资源存储所述过期时间参数,从而可以节省客户端的存储空间。
请参阅图3,本申请还提供一种客户端,所述客户端可以包括:显示器110和处理器120。
其中,所述显示器110,用于显示页面信息;
所述处理器120,用于拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务;获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素;通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求;通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据;通过主线程对所述响应数据中的目标页面元素进行渲染,以将所述目标页面元素显示于所述显示器上的预设页面中。
上述实施方式公开的客户端,其处理器120和显示器110实现的具体功能,可以与本申请中页面元素的请求方法实施方式相对照解释,可以实现本申请的页面元素的请求方法实施方式并达到方法实施方式的技术效果。
本申请还提供一种页面元素的显示方法。请参阅图4。所述方法可以包括以下步骤。
步骤S41:向服务器发出针对页面元素的访问请求。
在本实施方式中,当用户在客户端中打开应用程序的某个页面时,在该页面上可以包括多个待加载的页面元素。所述页面元素可以是待渲染的数据,当所述页面元素加载至所述客户端中,可以由所述客户端对所述页面元素进行渲染,从而能够展示在所述应用程序的当前页面上。
在本实施方式中,客户端可以响应用户的操作,产生访问请求。或者,客户端在加载程序代码过程中,由执行该程序代码本身的内容,产生了访问请求。具体的,例如,用户使用手机运行手机京东时,点击某一个商品链接。客户端会响应该点击事件,针对该商品链接生成访问请求。
在本实施方式中,所述访问请求可以是根据预设格式进行编写的报文(message)。在所述访问请求中,可以包括预设数量的字段,各个字段均可以填充不同的内容。例如,所述访问请求中可以包括源IP字段、目的IP字段以及资源标识字段等。其中,源IP字段可以填充发送所述访问请求的客户端的IP地址,所述目的IP字段可以填充待接收所述访问请求的服务器的IP地址,所述资源标识字段中可以填充所述页面元素对应的资源标识。
在本实施方式中,所述资源标识可以是按照预设规则进行编写的字符串。所述资源标识可以包括协议名称、服务器名称、路径和文件扩展名中的至少一种。其中,所述协议名称可以表示处理所述资源标识所需的协议。该协议名称例如可以包括http协议、ftp协议、mailto协议等。所述服务器名称可以是所述服务器在互联网中预先注册的域名。例如,所述服务器名称可以为img.alicdn.com。所述路径可以表示所述页面元素在所述服务器中的存储路径。所述存储路径可以包括至少一级目录,不同级目录之间可以通过“/”连接。例如,所述存储路径可以为“bao/uploaded/i6”。所述文件扩展名可以是所述页面元素在服务器中进行存储的文件名的后缀。例如,所述文件名可以为“VXX_032175.jpg”。其中,“jpg”可以是所述文件名的后缀,从而可以作为所述页面元素的扩展名。所述页面元素的扩展名可以用于表示所述页面元素的类型,“jpg”则表示所述页面元素为图片类型。
在本实施方式中,应用程序的当前页面上待加载的页面元素可以与该页面元素的访问地址相关联。页面元素与访问地址的这种关联关系可以存储于当前页面中。当所述当前页面在客户端的屏幕上展示时,客户端就可以自动根据与所述页面元素相关联的访问地址来构建访问请求。这样,包含所述页面元素的访问地址的访问请求便可以指向所述页面元素。具体地,所述访问地址可以是所述页面元素的统一资源定位符(Uniform ResoureLocator,URL),所述统一资源定位符可以指定所述页面元素存储的服务器地址和在服务器中的存储路径,这样,根据所述统一资源定位符便可以从服务器处获取所述页面元素。
在本实施方式中,在客户端本地不存在所述页面元素时,则可以根据所述访问请求中的目的IP,将所述访问请求发送至所述目标IP地址处的服务器,从而可以根据访问请求中的资源标识从所述服务器中获取所述页面元素。
步骤S43:接收所述服务器反馈的具有第一数据格式的页面元素。
在本实施方式中,服务器接收到所述客户端发来的访问请求之后,可以提取所述访问请求中的资源标识。所述资源标识中可以包括所述页面元素在所述服务器中的存储路径。这样,所述服务器便可以读取所述存储路径下的页面元素。
在本实施方式中,为了提高从服务器处加载页面元素的速度,所述客户端向所述服务器发送的访问请求中可以携带具有第一数据格式的资源标识。这样,根据所述具有第一数据格式的资源标识,可以从所述服务器处获取具备第一数据格式的页面元素。
在本实施方式中,所述具有第一数据格式的资源标识中,文件名的扩展名可以是所述第一数据格式。例如,所述第一数据格式为webp格式,那么具备webp格式的资源标识中文件名的扩展名便可以为webp。
步骤S45:将所述页面元素从所述第一数据格式转换成第二数据格式;其中,所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量。
在本实施方式中,具备第一数据格式的页面元素通常可以具备较小的数据量,那么从服务器下载所述具备第一数据格式的页面元素时可以占用较少的时间,从而加快页面元素加载的速度。
然而,所述第一数据格式的页面元素在所述客户端中可能无法被主线程识别,从而无法进行渲染。在这种情况下,可以将所述页面元素从所述第一数据格式转换成第二数据格式,所述第二数据格式能够被所述主线程识别,从而可以对具备第二数据格式的页面元素进行渲染,以在当前页面上显示所述页面元素。
在本实施方式中,之所以不直接从所述服务器中获取具备第二数据格式的页面元素,原因在于所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式的数据量。这样,如果直接从所述服务器中获取具备第二数据格式的页面元素,便会增加下载页面元素的时间,导致加载页面元素的效率降低。
需要说明的是,在本实施方式中,所述客户端除了主线程之外,还可以具备其它子线程。在本实施方式中,从服务器下载具备第一数据格式的页面元素的过程可以在其它子线程中完成。此外,将所述页面元素从所述第一数据格式转换成第二数据格式的过程也可以在子线程中执行,这样就不会影响主线程渲染页面元素的效率。
步骤S47:显示具有所述第二数据格式的页面元素。
在本实施方式中,在获取到所述具有所述第二数据格式的页面元素之后,可以通过客户端的预设线程对所述具有所述第二数据格式的页面元素进行渲染,从而可以将所述页面元素显示于客户端屏幕上的当前页面中。例如,对于iOS系统而言,可以通过NSURLProtocol中的NSURLProtocolClient将获取的具有所述第二数据格式的页面元素反馈至所述页面元素所在的页面。这样,所述页面在获取到所述页面元素之后,便可以调用WebCore线程对所述页面元素进行渲染,从而可以将渲染后的图像显示于客户端屏幕上的当前页面中。
在本申请一个实施方式中,可以根据针对所述页面元素的原始访问请求进行优化,以得到向服务器发送的针对页面元素的访问请求。具体地,当用户在客户端中打开应用程序的某个页面时,该页面上待加载的页面元素对应的资源标识可以为原始资源标识。根据所述原始资源标识以及源IP、目的IP等参数构成的访问请求可以为原始访问请求。这样,客户端便可以获取针对所述页面元素的原始访问请求,所述原始访问请求中包括指定资源标识。其中,所述指定资源标识可以是指定类型的原始资源标识。例如,所述指定资源标识可以是图片类型的原始资源标识。
在本实施方式中,所述原始访问请求可以被客户端拦截,并进行优化处理。具体地,可以根据待显示所述页面元素的终端设备的配置参数以及所述服务器的类型,对所述指定资源标识进行修改。在本实施方式中,所述指定资源标识可以是协议名称、服务器名称、路径和文件扩展名的组合。所述配置参数包括所述终端设备的屏幕尺寸参数和所述终端设备的当前网络参数。在所述指定资源标识中,可以包括从服务器中待获取的页面元素的尺寸参数。所述尺寸参数例如可以是图片的长和宽,可以通过1000x1000的形式来表示。所述长和宽均可以用毫米作为单位。这样,在本实施方式中,可以提取所述指定资源标识中的尺寸参数,当所述指定资源标识中的页面元素的尺寸参数大于所述终端设备的屏幕尺寸参数时,则需要对所述页面元素的尺寸进行裁剪,才能使得页面元素的全部内容能够显示于终端设备的屏幕上。其中,所述指定资源标识中的页面元素的尺寸参数大于所述终端设备的屏幕尺寸参数可以包括页面元素的长大于终端设备屏幕的长或/和页面元素的宽大于终端设备屏幕的宽。在本实施方式中,所述终端设备的屏幕尺寸参数可以通过iOS的预设API(Application Programming Interface,应用程序编程接口)获取。
在本实施方式中,当所述尺寸参数大于所述屏幕尺寸参数时,可以将所述指定资源标识中的尺寸参数修改为所述屏幕尺寸参数。例如,所述指定资源标识中页面元素的尺寸参数为1000x1000,而终端设备的屏幕尺寸参数为800x600,那么可以将所述指定资源标识中的尺寸参数修改为800x600。
在本实施方式中,对于同一个页面元素,在服务器中可以存储不同尺寸的版本。例如,对于内容相同的一张图片,在服务器中可以存储800x600、1000x1000、800x800等多个版本。这样,当服务器接收到由修改后的指定资源标识构成的访问请求时,可以从所述指定资源标识指向的服务器中获取与所述屏幕尺寸参数相适配的具有第一数据格式的原始页面元素。
在本实施方式中,获取的具有第一数据格式的原始页面元素可以是清晰度较高的页面元素,在所述原始页面元素中包含的像素点也可以较多,那么相应地,所述原始页面元素的数据量就会比较大。当终端设备所处的网络环境不同时,下载同一个数据量的页面元素所需的时间也往往不同。因此,在本实施方式中,还可以根据终端设备的当前网络状态,对所述原始页面元素的清晰度进行修改,以使得下载修改后的页面元素能够占用较少的时间。
在本实施方式中,可以根据所述终端设备的当前网络状态确定所述当前网络参数。具体地,可以通过识别所述终端设备屏幕上预设位置处的网络标识,来确定所述当前网络参数。例如,所述预设位置可以在终端设备屏幕的左上角。当所述终端设备与WiFi连接时,所述预设位置处会出现表征WiFi信号强度的标识。当所述终端设备在使用移动网络时,所述预设位置处会出现表征移动网络类型的标识,所述标识例如可以为“4G”、“3G”、“E”等。
在本实施方式中,对于不同的网络类型,可以对应不同的网络参数。那么在识别出终端设备的当前的网络类型时,便可以确定相应的当前网络参数。所述当前网络参数可以是对网络类型进行数字化处理后的数字编号。例如,WiFi网络可以用4表示,4G网络可以用3表示,3G网络可以用2表示,2G网络则可以用1表示。这样,通过当前网络参数的大小,便可以确定下载页面数据的能力。
在本实施方式中,不同的当前网络参数可以对应不同的图片质量参数。当前网络参数越大,对应的图片质量参数也可以越大。这样就表明网络状态越好,下载页面元素的能力则越强,从而可以下载清晰度较高的页面元素。在这种情况下,可以在所述指定资源标识中添加与所述当前网络参数相适配的图片质量参数。所述图片质量参数可以采用字母与数字结合的形式来表示。例如,清晰度最高对应的图片质量参数可以是缺省,也就是说,如果在制定资源标识中不含有图片质量参数,那么可以直接下载清晰度最高的原始页面元素。清晰度从高到底对应的图片质量参数可以分别为q75、q60和q50。字母q后面的数字越小,则表明网络状态越差,能够下载的页面元素的清晰度就越低。
在本实施方式中,所述服务器可以按照图片质量参数对所述原始页面元素进行处理,以得到所述具有第一数据格式的页面元素。具体地,所述服务器可以根据清晰度从高到低的顺序,按照从高到低的比例来显示所述原始页面元素中的像素。例如,当所述图片质量参数为q75时,可以仅显示所述原始页面元素中75%的像素,从而减小原始页面元素的数据量。这样,在对所述原始页面数据进行像素显示处理之后,便可以得到所述具有第一数据格式的页面元素。
在本申请一个实施方式中,可以根据所述指定资源标识中服务器的名称判断所述服务器是否存储有第一数据格式的页面元素。具体地,所述第一数据格式例如可以为webp格式。Webp格式是谷歌开发的一种旨在加快图片加载速度的图片格式。该图片格式相比jpeg格式而言能够节省1/3的图片体积,从而能够节省大量的带宽资源和数据存储空间。存储有webp格式图片的服务器的名称可以记录于一个数据表中,当所述指定资源标识中服务器的名称存在于该数据表中,则表明所述服务器中存储有webp格式的图片。这样,当所述服务器存储有所述第一数据格式的页面元素时,可以在所述指定资源标识的末尾添加表征所述第一数据格式的后缀。例如,可以在所述指定资源标识的末尾添加webp。当所述服务中没有存储webp格式的图片时,则可以获取jpg格式的图片。
在本申请一个实施方式中,在对所述指定资源标识进行修改之前,为了不受其它修改结果的影响,可以检测所述指定资源标识中是否包含优化后缀,当包含时,将所述优化后缀去除。具体地,当所述指定资源标识中存在与优化后缀相匹配的字符串时,可以将这些字符串去除。所述与优化后缀相匹配的字符串例如可以为_m、_b、_sum这样的字符串。
请参阅图5。本申请还提供一种客户端,所述客户端可以包括:
显示器210,用于显示具有所述第二数据格式的页面元素;
网络通信模块220,用于进行网络数据通信;
处理器230,用于控制所述网络通信模块向服务器发出针对页面元素的访问请求;控制所述网络通信模块接收所述服务器反馈的具有第一数据格式的页面元素;将所述页面元素从所述第一数据格式转换成第二数据格式;其中,所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量;控制所述显示器显示具有所述第二数据格式的页面元素。
上述实施方式公开的客户端,其网络通信模块220、处理器230和显示器210实现的具体功能,可以与本申请中页面元素的显示方法实施方式相对照解释,可以实现本申请的页面元素的显示方法实施方式并达到方法实施方式的技术效果。
由以上本申请实施方式提供的技术方案可见,本申请实施方式可以通过子线程向服务器发起针对页面元素的访问请求。如此,减少了主线程的工作负荷。这样,可以将主线程主要用于与页面渲染相关的工作。从而实现了应用程序的页面响应速度。再者,另一方面,本申请实施方式可以从服务器中获取数据量较小的具备第一数据格式的页面元素,然后在客户端处进行显示时,可以将所述页面元素从所述第一数据格式转换成第二数据格式,从而可以展示具有所述第二数据格式的页面元素。由于从服务器处读取的页面元素的数据量较小,因此也可以提高页面元素的加载速度。
本申请说明书中涉及的处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。显示器可以为将一定的电子文件通过特定的传输设备显示到屏幕上再反射到人眼的显示工具。所述显示器可以包括液晶LCD显示屏、阴极射线管CRT显示屏、发光二极管LED显示屏等。所述网络通信模块可以是依照TCP/IP协议设置,并在该协议框架下进行网络通信。具体的,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (20)
1.一种页面元素的请求方法,其特征在于,所述方法包括:
拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务;
获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素;
通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求;
通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据。
2.根据权利要求1所述的方法,其特征在于,拦截向服务器发出的第一访问请求具体包括:
检测向服务器发出的第一访问请求中携带的资源标识;
当所述资源标识为预设资源标识时,拦截所述第一访问请求。
3.根据权利要求1所述的方法,其特征在于,拦截向服务器发出的第一访问请求具体包括:
判断向服务器发出的第一访问请求是否具备访问权限;
当所述第一访问请求不具备访问权限时,拦截所述第一访问请求。
4.根据权利要求3所述的方法,其特征在于,判断向服务器发出的第一访问请求是否具备访问权限具体包括:
判断向服务器发出的第一访问请求是否记录于预设标记数组中;
相应地,当所述第一访问请求没有记录于所述预设标记数组中时,判定所述第一访问请求不具备访问权限。
5.根据权利要求1所述的方法,其特征在于,在通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据之后,所述方法还包括:
所述子线程将所述响应数据提供给主线程,并由所述主线程对所述响应数据中的目标页面元素进行渲染,以在预设页面中展示所述目标页面元素。
6.根据权利要求1所述的方法,其特征在于,在拦截向服务器发出的第一访问请求之后,所述方法还包括:
根据所述第一访问请求获取能唯一标识所述目标页面元素的元素标识;
在本地存储的页面元素中匹配得到所述元素标识指向的目标页面元素;
构建包含所述目标页面元素的响应信息,并将所述响应信息提供给主线程。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当在本地存储的页面元素中匹配失败时,为所述第一访问请求设置访问权限;其中,所述访问权限表示针对所述目标页面元素的访问请求不会被拦截;
重新生成用于请求所述目标页面元素的访问请求,并通过所述子线程向所述服务器发送重新生成的访问请求。
8.根据权利要求6所述的方法,其特征在于,根据所述第一访问请求获取能唯一标识所述目标页面元素的元素标识具体包括:
基于所述第一访问请求,根据预设字符转换算法换算得到具备预设位数的字符串,并将所述字符串作为能唯一标识所述目标页面元素的元素标识。
9.根据权利要求1所述的方法,其特征在于,在向所述服务器发送所述第二访问请求之前,所述方法还包括:
根据待显示所述目标页面元素的终端设备的配置参数以及所述服务器的类型,所述子线程对所述第二访问请求进行修改,所述配置参数包括所述终端设备的屏幕尺寸参数和所述终端设备的当前网络参数中的至少一种。
10.根据权利要求9所述的方法,其特征在于,在所述子线程对所述第二访问请求进行修改之前,所述方法还包括:
所述子线程检测所述第二访问请求中是否包含优化后缀,当包含时,将所述优化后缀去除。
11.根据权利要求9所述的方法,其特征在于,所述子线程对所述第二访问请求进行修改,具体包括以下所列中的一种或结合:
所述子线程提取所述第二访问请求中的尺寸参数,当所述尺寸参数大于所述屏幕尺寸参数时,将所述第二访问请求中的尺寸参数修改为所述屏幕尺寸参数;
所述子线程在所述第二访问请求中添加与所述当前网络参数相适配的图片质量参数。
12.根据权利要求1所述的方法,其特征在于,所述子线程接收的响应数据中目标页面元素的格式为第一数据格式;相应地,在通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据之后,所述方法还包括:
所述子线程将所述目标页面元素从所述第一数据格式转换成第二数据格式,并将具备第二数据格式的目标页面元素提供给主线程;其中,所述目标页面元素处于所述第二数据格式时的数据量大于所述目标页面元素处于所述第一数据格式时的数据量。
13.根据权利要求1所述的方法,其特征在于,在通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据之后,所述方法还包括:
所述子线程为所述响应数据中的目标页面元素添加过期时间参数,以用于按照所述过期时间参数自动删除所述目标页面元素;
所述子线程将添加了所述过期时间参数的目标页面元素写入本地存储器中。
14.一种客户端,其特征在于,所述客户端包括:
显示器,用于显示页面信息;
处理器,用于拦截向服务器发出的第一访问请求,所述第一访问请求中包括用于请求目标页面元素的任务;获取所述第一访问请求中用于请求目标页面元素的任务,生成第二访问请求,所述第二访问请求用于获取所述目标页面元素;通过并发多线程队列的子线程,向所述服务器发送所述第二访问请求;通过所述子线程接收所述服务器返回的针对所述第二访问请求的响应数据;通过主线程对所述响应数据中的目标页面元素进行渲染,以将所述目标页面元素显示于所述显示器上的预设页面中。
15.一种页面元素的显示方法,其特征在于,包括:
向服务器发出针对页面元素的访问请求;
接收所述服务器反馈的具有第一数据格式的页面元素;
将所述页面元素从所述第一数据格式转换成第二数据格式;其中,所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量;
显示具有所述第二数据格式的页面元素。
16.根据权利要求15所述的方法,其特征在于,所述针对页面元素的访问请求按照下述方式生成:
获取针对所述页面元素的原始访问请求,所述原始访问请求中包括指定资源标识;
根据待显示所述页面元素的终端设备的配置参数以及所述服务器的类型,对所述指定资源标识进行修改;
基于修改后的资源标识生成所述针对页面元素的访问请求;
其中,所述配置参数包括所述终端设备的屏幕尺寸参数和所述终端设备的当前网络参数中的至少一种。
17.根据权利要求16所述的方法,其特征在于,在对所述指定资源标识进行修改之前,所述方法还包括:
检测所述指定资源标识中是否包含优化后缀,当包含时,将所述优化后缀去除。
18.根据权利要求16所述的方法,其特征在于,对所述指定资源标识进行修改具体包括以下所列中的一种或结合:
提取所述指定资源标识中的尺寸参数,当所述尺寸参数大于所述屏幕尺寸参数时,将所述指定资源标识中的尺寸参数修改为所述屏幕尺寸参数;
在所述指定资源标识中添加与所述当前网络参数相适配的图片质量参数。
19.根据权利要求16所述的方法,其特征在于,所述具有第一数据格式的页面元素按照下述方式获取:
从所述指定资源标识指向的服务器中获取与修改后的指定资源标识中的屏幕尺寸参数相适配的具有第一数据格式的原始页面元素;
按照修改后的指定资源标识中的图片质量参数对所述原始页面元素进行处理,以得到所述具有第一数据格式的页面元素。
20.一种客户端,其特征在于,所述客户端包括:
显示器,用于显示具有所述第二数据格式的页面元素;
网络通信模块,用于进行网络数据通信;
处理器,用于控制所述网络通信模块向服务器发出针对页面元素的访问请求;控制所述网络通信模块接收所述服务器反馈的具有第一数据格式的页面元素;将所述页面元素从所述第一数据格式转换成第二数据格式;其中,所述页面元素处于所述第二数据格式时的数据量大于所述页面元素处于所述第一数据格式时的数据量;控制所述显示器显示具有所述第二数据格式的页面元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610921286.6A CN107977371A (zh) | 2016-10-21 | 2016-10-21 | 页面元素的请求方法、显示方法及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610921286.6A CN107977371A (zh) | 2016-10-21 | 2016-10-21 | 页面元素的请求方法、显示方法及客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107977371A true CN107977371A (zh) | 2018-05-01 |
Family
ID=62003849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610921286.6A Pending CN107977371A (zh) | 2016-10-21 | 2016-10-21 | 页面元素的请求方法、显示方法及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977371A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284227A (zh) * | 2018-09-06 | 2019-01-29 | 政采云有限公司 | 一种自动化压力测试方法及装置、计算设备及存储介质 |
CN109582889A (zh) * | 2018-10-17 | 2019-04-05 | 平安普惠企业管理有限公司 | 图片加载方法、装置、计算机设备及存储介质 |
CN109582899A (zh) * | 2018-10-26 | 2019-04-05 | 平安科技(深圳)有限公司 | 页面加载方法、装置、计算机设备及存储介质 |
CN110058897A (zh) * | 2019-03-15 | 2019-07-26 | 平安普惠企业管理有限公司 | 页面操作控制方法、装置、计算机设备及存储介质 |
CN110308954A (zh) * | 2019-05-24 | 2019-10-08 | 天津五八到家科技有限公司 | 点击事件拦截方法、装置及移动终端 |
CN110417919A (zh) * | 2019-08-29 | 2019-11-05 | 网宿科技股份有限公司 | 一种流量劫持方法及装置 |
CN111163138A (zh) * | 2019-12-18 | 2020-05-15 | 北京智明星通科技股份有限公司 | 一种降低游戏期间网络负载的方法、装置和服务器 |
CN111240769A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 页面启动方法、装置、设备及存储介质 |
CN112099873A (zh) * | 2020-09-15 | 2020-12-18 | 广州华多网络科技有限公司 | 应用程序首页加载方法、装置、设备及存储介质 |
CN112380468A (zh) * | 2020-10-16 | 2021-02-19 | 华帝股份有限公司 | 一种页面加载方法、计算机设备和存储介质 |
CN112579948A (zh) * | 2019-09-29 | 2021-03-30 | 北京国双科技有限公司 | 网页截图方法、装置及存储介质、电子设备 |
CN112580095A (zh) * | 2020-12-15 | 2021-03-30 | 文思海辉智科科技有限公司 | 一种数据显示方法、装置、计算机设备和存储介质 |
CN112612964A (zh) * | 2020-12-31 | 2021-04-06 | 武汉悦学帮网络技术有限公司 | 一种图片展示方法、装置、计算机设备和存储介质 |
CN113127780A (zh) * | 2021-03-23 | 2021-07-16 | 维沃移动通信有限公司 | 页面加载方法、装置和电子设备 |
CN113709136A (zh) * | 2021-08-25 | 2021-11-26 | 北京京东振世信息技术有限公司 | 一种访问请求验证方法和装置 |
CN113852663A (zh) * | 2021-08-18 | 2021-12-28 | 北京达佳互联信息技术有限公司 | 一种网络请求的处理方法、装置及网络请求处理系统 |
CN113986438A (zh) * | 2021-10-30 | 2022-01-28 | 深圳市快易典教育科技有限公司 | 动画的加载方法、系统、装置及计算机可读存储介质 |
US20230177100A1 (en) * | 2021-12-07 | 2023-06-08 | Servicenow, Inc. | Efficient Downloading of Related Documents |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902696A (zh) * | 2014-03-28 | 2014-07-02 | 广州华多网络科技有限公司 | 一种加载资源文件的方法及装置 |
CN105488049A (zh) * | 2014-09-17 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 网页图像解析方法、装置及浏览器 |
CN105763761A (zh) * | 2014-12-16 | 2016-07-13 | 广州市动景计算机科技有限公司 | 一种图片数据传输方法及装置 |
-
2016
- 2016-10-21 CN CN201610921286.6A patent/CN107977371A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902696A (zh) * | 2014-03-28 | 2014-07-02 | 广州华多网络科技有限公司 | 一种加载资源文件的方法及装置 |
CN105488049A (zh) * | 2014-09-17 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 网页图像解析方法、装置及浏览器 |
CN105763761A (zh) * | 2014-12-16 | 2016-07-13 | 广州市动景计算机科技有限公司 | 一种图片数据传输方法及装置 |
Non-Patent Citations (4)
Title |
---|
CURIOSITY: "iOS 客户端基于 WebP 图片格式的流量优化(上)", 《SEGMENTFAULT》 * |
CURIOSITY: "iOS 客户端基于 WebP 图片格式的流量优化(下)", 《SEGMENTFAULT》 * |
LINDA_JE: "移动端网站提升页面加载性能的优化技巧", 《手记》 * |
阮一峰: "《JavaScript 标准参考教程(alpha)》", 10 August 2013 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284227A (zh) * | 2018-09-06 | 2019-01-29 | 政采云有限公司 | 一种自动化压力测试方法及装置、计算设备及存储介质 |
CN109582889A (zh) * | 2018-10-17 | 2019-04-05 | 平安普惠企业管理有限公司 | 图片加载方法、装置、计算机设备及存储介质 |
CN109582899A (zh) * | 2018-10-26 | 2019-04-05 | 平安科技(深圳)有限公司 | 页面加载方法、装置、计算机设备及存储介质 |
CN110058897A (zh) * | 2019-03-15 | 2019-07-26 | 平安普惠企业管理有限公司 | 页面操作控制方法、装置、计算机设备及存储介质 |
CN110308954A (zh) * | 2019-05-24 | 2019-10-08 | 天津五八到家科技有限公司 | 点击事件拦截方法、装置及移动终端 |
CN110417919A (zh) * | 2019-08-29 | 2019-11-05 | 网宿科技股份有限公司 | 一种流量劫持方法及装置 |
CN110417919B (zh) * | 2019-08-29 | 2021-10-29 | 网宿科技股份有限公司 | 一种流量劫持方法及装置 |
CN112579948A (zh) * | 2019-09-29 | 2021-03-30 | 北京国双科技有限公司 | 网页截图方法、装置及存储介质、电子设备 |
CN111163138A (zh) * | 2019-12-18 | 2020-05-15 | 北京智明星通科技股份有限公司 | 一种降低游戏期间网络负载的方法、装置和服务器 |
CN111163138B (zh) * | 2019-12-18 | 2022-04-12 | 北京智明星通科技股份有限公司 | 一种降低游戏期间网络负载的方法、装置和服务器 |
CN111240769A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 页面启动方法、装置、设备及存储介质 |
CN112099873A (zh) * | 2020-09-15 | 2020-12-18 | 广州华多网络科技有限公司 | 应用程序首页加载方法、装置、设备及存储介质 |
CN112380468A (zh) * | 2020-10-16 | 2021-02-19 | 华帝股份有限公司 | 一种页面加载方法、计算机设备和存储介质 |
CN112580095A (zh) * | 2020-12-15 | 2021-03-30 | 文思海辉智科科技有限公司 | 一种数据显示方法、装置、计算机设备和存储介质 |
CN112612964A (zh) * | 2020-12-31 | 2021-04-06 | 武汉悦学帮网络技术有限公司 | 一种图片展示方法、装置、计算机设备和存储介质 |
CN113127780A (zh) * | 2021-03-23 | 2021-07-16 | 维沃移动通信有限公司 | 页面加载方法、装置和电子设备 |
CN113852663A (zh) * | 2021-08-18 | 2021-12-28 | 北京达佳互联信息技术有限公司 | 一种网络请求的处理方法、装置及网络请求处理系统 |
CN113709136A (zh) * | 2021-08-25 | 2021-11-26 | 北京京东振世信息技术有限公司 | 一种访问请求验证方法和装置 |
CN113709136B (zh) * | 2021-08-25 | 2023-06-27 | 北京京东振世信息技术有限公司 | 一种访问请求验证方法和装置 |
CN113986438A (zh) * | 2021-10-30 | 2022-01-28 | 深圳市快易典教育科技有限公司 | 动画的加载方法、系统、装置及计算机可读存储介质 |
CN113986438B (zh) * | 2021-10-30 | 2024-01-30 | 深圳市快易典教育科技有限公司 | 动画的加载方法、系统、装置及计算机可读存储介质 |
US20230177100A1 (en) * | 2021-12-07 | 2023-06-08 | Servicenow, Inc. | Efficient Downloading of Related Documents |
US11734381B2 (en) * | 2021-12-07 | 2023-08-22 | Servicenow, Inc. | Efficient downloading of related documents |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977371A (zh) | 页面元素的请求方法、显示方法及客户端 | |
CN110020278B (zh) | 页面数据的展示、提供方法、客户端及服务器 | |
US10289659B2 (en) | Delivery and display of page previews using shadow DOM | |
US9971740B2 (en) | Dynamic webpage image | |
US9594477B1 (en) | Using deep links to restore interactive state of a web page | |
CN103246678B (zh) | 一种网页内容预览方法和装置 | |
CN107040584B (zh) | 客户端下载图片的方法及装置 | |
EP2461260A1 (en) | Visual treatment for a user interface in a content integration framework | |
CN106708899A (zh) | 自动埋点方法和装置 | |
CN105138312B (zh) | 一种表格生成方法及装置 | |
CN104765742B (zh) | 一种信息展示的方法及装置 | |
US20130132422A1 (en) | System and method for creating and controlling an application operating on a plurality of computer platform types | |
CN104243923B (zh) | 一种图片处理及图片预览的方法及系统 | |
CN106656920B (zh) | Http服务的处理方法、装置、存储介质及处理器 | |
US20170351713A1 (en) | Image processing systems and/or methods | |
CN108021583A (zh) | 页面加载方法、页面操作指令的处理方法及客户端 | |
KR20120087213A (ko) | 이미지 코드를 이용하여 정보를 전달하는 시스템 및 방법 | |
CN103577595A (zh) | 基于当前浏览页面的关键词推送方法及装置 | |
CN103577392A (zh) | 基于当前浏览页面的关键词推送方法及装置 | |
CN104536993A (zh) | 收藏网页的处理方法、收藏网页的处理装置和客户端 | |
CN111756847B (zh) | 网站支持https协议的方法和装置 | |
CN104462283A (zh) | 在移动终端中进行网页元素请求的方法、装置和客户端 | |
US20140067787A1 (en) | System and method to identify machine-readable codes | |
WO2015143910A1 (zh) | 自定义搜索结果页的方法及装置 | |
CN103218132A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180501 |
|
RJ01 | Rejection of invention patent application after publication |