CN111259284B - 页面懒加载的方法和装置、存储介质和处理器 - Google Patents
页面懒加载的方法和装置、存储介质和处理器 Download PDFInfo
- Publication number
- CN111259284B CN111259284B CN201811456154.6A CN201811456154A CN111259284B CN 111259284 B CN111259284 B CN 111259284B CN 201811456154 A CN201811456154 A CN 201811456154A CN 111259284 B CN111259284 B CN 111259284B
- Authority
- CN
- China
- Prior art keywords
- page
- component
- rendering
- rendered
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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
Abstract
本发明公开了一种页面懒加载的方法和装置、存储介质和处理器。其中,该方法包括:确定页面发生更新;从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。本发明解决了现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
Description
技术领域
本发明涉及数据加载技术领域,具体而言,涉及一种页面懒加载的方法和装置、存储介质和处理器。
背景技术
锚点是网页制作中超级链接的一种,用户可以点击有锚点定位的地址跳转到指定的地址,为了节省资源,在页面加载中使用了懒加载功能,由于页面上的组件的尺寸不一,排布不同,执行懒加载功能后,定位会产生变化,页面中定位的内容并非用户想看的内容。
例如,在商品大促业务宣传中,在很多页面中都能够通过有锚点定位的地址跳转到促销会场页面中,并定位到相应的货品楼层中,由于页面上组件非常得多,页面中使用了模块懒加载功能,打开页面时定位是准确的,但是懒加载功能一执行,该定位楼层上方渲染出不固定数量的商品,这时定位就会产生变化,页面中定位楼层的并非用户期望看到的楼层。
为了解决这个问题,相关技术中将所有的模块设置为固定模块,按照页面顺序懒加载,防止定位不准,但是由于按页面顺序懒加载,如果锚点定位到页面最后,意味着懒加载的功能其实是无效的,页面上所有的组件都会被加载;另外,像导购页面中的推销商品的楼层中投放的商品数量一般都不固定,很难将所有的模块需设置为固定高度,该方法较为局限。
针对现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种页面懒加载的方法和装置、存储介质和处理器,以至少解决现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
根据本发明实施例的一个方面,提供了一种页面懒加载的方法,包括:确定页面发生更新;从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
根据本发明实施例的另一个方面,提供了一种页面懒加载的方法,包括:首次打开页面的情况下,获取定位到页面上的目标对象的锚点;基于目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,渲染列表包括至少一个页面组件;在确定页面发生更新的情况下,从渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
根据本发明实施例的另一方面,还提供了一种页面懒加载的装置,包括:确定单元,用于确定页面发生更新;第一查找单元,用于从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;第一加载单元,用于将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
根据本发明实施例的另一方面,还提供了一种页面懒加载的装置,包括:第三获取单元,用于首次打开页面的情况下,获取定位到页面上的目标对象的锚点;第三扫描单元,用于基于目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,渲染列表包括至少一个页面组件;第二查找单元,用于在确定页面发生更新的情况下,从渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件;第二加载单元,用于将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
在本发明实施例中,在页面发生更新时,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件的方式,通过在查找待渲染的页面组件前获取页面对应的页面组件,达到了将需要渲染在显示界面中的未渲染组件加载在显示界面中的目的,从而实现了采用懒加载来渲染页面的过程中显示内容准确的技术效果,进而解决了现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本申请实施例的一种页面懒加载的方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种页面懒加载的方法的流程图;
图3是根据本发明实施例的另一种页面懒加载的方法的示意图;
图4是根据本发明实施例的另一种页面懒加载的方法的流程图;
图5是根据本申请实施例的一种页面懒加载的装置的示意图;
图6是根据本申请实施例的一种可选的页面懒加载的装置的示意图;
图7是根据本申请实施例的一种可选的页面懒加载的装置的示意图;
图8是根据本申请实施例的一种可选的页面懒加载的装置的示意图;
图9是根据本申请实施例的一种可选的页面懒加载的装置的示意图;
图10是根据本申请实施例的一种可选的页面懒加载的装置的示意图;
图11是根据本申请实施例的另一种页面懒加载的装置的示意图;以及
图12是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
锚点:是网页制作中超级链接的一种,又叫命名锚记,使用命名锚记可以在文档中设置标记,这些标记通常放在文档的特定位置,创建到这些命名锚机的链接,通过链接可以快速将访问者带到指定位置。
懒加载:是一种数据获取方法,能够在用户滚动页面时自动获取更多的数据,而新得到的数据不会影响原有数据的显示,同时最大程度上减少服务器端的资源耗用。
实施例1
根据本发明实施例,还提供了一种页面懒加载的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现页面懒加载的方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器104(处理器104可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器105、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器105可用于存储应用软件的软件程序以及模块,如本发明实施例中的页面懒加载的方法对应的程序指令/数据存储装置,处理器104通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器105可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器105可进一步包括相对于处理器104远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的页面懒加载的方法。图2是根据本发明实施例一的页面懒加载的方法的流程图。
步骤21,确定页面发生更新。
根据本申请上述实施例,在检测到页面发生如下任意一种操作的情况下,则确定页面发生更新:页面发生滚动操作、翻页操作、调整大小操作、移动操作和锚点跳转操作。
具体地,页面发生滚动操作可以为基于当前页面向上滚动或向下滚动,例如,用户将光标放置页面的任意区域,并上下滚动鼠标,页面向上滚动或向下滚动进行内容显示,此时,触发懒加载处理,从渲染列表中查找页面上方或页面下方需要渲染的未渲染组件,可以为需要渲染的文字和图片。
具体地,翻页操作可以为上下翻页、左右翻页或跳转翻页,例如,上下翻页可以为用户点击页面底部或顶部的翻页图标,选择“上一页”或“下一页”进行翻页;再例如,在光标显示在页面顶部或底部时,继续上拉或下拉,自动翻页;此时,触发懒加载处理,从渲染列表中查找上一页或下一页文档中的需要渲染的组件,可以为上一页或下一页文档中所有需要渲染的文字和图片。
另外,对于具有触摸功能的屏幕,用户左右滑动屏幕,还可以进行左右翻页,此时,触发懒加载处理,从渲染列表中查找当前页面左边页或右边页面文档中的需要渲染的组件。
具体地,调整大小操作为调整页面在显示界面内的显面示比例,例如,调整大小操作可以为用户点击放大或缩小图标,进行网页显示内容的缩放,在放大操作中,页面需要显示更多细节,此时,触发懒加载处理,从渲染列表中查找需要渲染的细节元素组件;在缩小过程中,页面需要显示当前未显示在页面上的内容,此时,触发懒加载处理,从渲染列表中查找需要显示在显示界面中的未渲染组件。
具体地,页面发生移动操作可以为基于当前页面向上移动或向下移动,也可以为基于当前页面向左移动或向右移动,例如,用户将光标放置在页面右侧的控制页面移动的图标上,并按住鼠标拖动图标上移或下移,此时,触发懒加载处理,从渲染列表中查找页面上方或页面下方需要渲染的未渲染组件。
再例如,在非全屏显示的情况下,用户光标放置在页面下部的控制页面移动的图标上,并按住鼠标拖动图标左移或右移,此时,触发懒加载处理,从渲染列表中查找当前页面左边页或右边页面文档中的组件。
具体地,锚点跳转为用户点击当前页面上的一个链接,页面跳转至指定页面,在检测到点击操作时,触发懒加载处理,从渲染列表中查找指定页面中需要渲染的组件。
需要说明的是,在上述步骤中,页面在显示界面中的显示内容需要发生变化,即为页面发生变化,本发明对页面需要发生变化的情形不做限制。
步骤S22,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;
在上述步骤中,更新页面所需要的待渲染的页面组件为页面变化后需要显示在显示界面中的组件。需要说明的是,为了节省资源,显示界面中的当前页面仅加载和渲染出该页面中的组件,当前页面需要发生变化时,获知当前页面需要发生变化的情况,按照页面需要发生变化的情况从渲染列表中查找需要渲染在显示界面中的未渲染组件。
根据本申请上述实施例,在显示页面的情况下,获取页面对应的渲染列表,渲染列表包括所述至少一个页面组件;
在上述步骤中,页面在显示界面中显示,显示界面可以为用户可以直观获知信息的区域,具体地,显示界面可以位于目标客户端的显示屏中,目标客户端可以为PC机、手机,例如,打开手机上的浏览器,显示界面为手机屏幕上浏览器的显示界面,打开手机上的一个应用软件,显示界面为手机屏幕上应用软件的显示界面。
打开页面为将页面中的内容在显示界面中显示,具体地,显示界面为手机屏幕上浏览器的显示界面时,打开页面可以为在网址输入栏输入网址后显示相应的网页页面;显示界面为手机屏幕上应用软件的显示界面时,打开页面还可以为点击该应用软件在桌面上的图标,显示应用软件的首页。
需要说明的是,页面对应的渲染列表为页面组件数据库,其中包括至少一个页面变化时需要进行加载的页面组件,页面组件可以包括页面模块和页面元素,页面模块可以为封装好的需要整体加载和渲染的页面组件,而页面元素可以为单独存在于背景上的文字、图案等元素。
步骤S23,将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
在上述步骤中,查询到的待渲染的页面组件即为页面更新后需要显示在显示界面内的未经渲染的组件,在页面变化的过程中,加载并渲染查询到的未渲染组件,使得渲染后的组件显示在显示界面内,显示界面内的组件得以更新,用户可以查看更新后的页面内容。
在本发明实施例中,在页面发生更新时,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件的方式,通过在查找待渲染的页面组件前获取页面对应的页面组件,达到了将需要渲染在显示界面中的未渲染组件加载在显示界面中的目的,从而实现了采用懒加载来渲染页面的过程中显示内容准确的技术效果,进而解决了现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
根据本申请上述实施例,在获取页面对应的渲染列表之前,上述方法还包括如下步骤:
首次打开页面的情况下,获取定位到页面上的目标对象的锚点;
在上述步骤中,首次在显示界面中打开页面,可以为在屏幕上首次点击浏览器图标,浏览器的搜索主页显示在浏览器显示界面内,还可以为在屏幕上首次点击应用软件的客户端图标,应用软件的首页显示在应用软件显示界面内,目标对象可以为页面上显示的任一模块或元素,首次在显示界面中打开页面后,获取设置在页面上的锚点。
基于目标对象的锚点,扫描首次需要显示的初始元素和初始模块;
需要说明的是,基于目标对象的锚点进行扫描,是为了防止锚点设置在页面的底部的图片上,按从上到下的顺序加载页面上的元素和模块,点击页面首部的链接时,由于锚点所在的图片未加载出来,无法链接到锚点实现页面的正常跳转。
在上述步骤中,由于页面中的元素和模块数量种类较多,首次需要显示在显示界面内的初始元素和初始模块为页面中最为关键的元素和模块,是页面上设置锚点的模块或元素,以及用户在打开页面后最关注的内容的元素和模块,或是希望用户关注的内容的元素和模块。
例如,购物软件的首页设置有背景图案、该购物软件的标识图案、滚动推荐的商品图案、近期的促销活动图标、商品搜索图标、购物车图标以及用户信息设置图标等,在近期的促销活动模块设置有锚点,打开购物应用软件,首次需要显示在购物应用软件的显示界面中的模块可以为近期的促销活动图标、以及商品搜索图标等,便于用户打开页面后能够实现搜索目标商品,以及点击链接可以定位到促销活动图标,从而跳转到促销活动页面。
基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
在上述步骤中,初始元素和初始模块为页面中最为关键的元素和模块,将初始元素和初始模块在显示界面内进行渲染后,显示界面内得到由渲染后的初始元素和初始模块构成的初始页面,也即,可以满足用户的基础需求的页面。
根据本申请上述实施例,在步骤S22在从至少一个页面组件中查找更新页面所需要的待渲染的页面组件之前,上述方法还包括如下步骤:
扫描页面,获取待加载的至少一个模块。
在上述步骤中,检测到显示界面内的页面需要发生变化,根据页面需要发生变化的情况获取待加载的模块,获取到的待加载的模块至少为一个,例如,检测到页面需要向上滚动,扫描当前页面上部的页面,获取页面上部的待加载的模块;检测到页面需要向下滚动,扫描当前页面下部的页面,获取页面下部的待加载的模块;检测到页面需要进行跳转,扫描需要跳转的页面,获取页面中待加载的模块。
将待加载的模块对应的页面组件存入渲染列表。
将待加载的模块存入渲染列表,便于触发懒加载处理后根据页面变化情况加载相应的模块。
例如,检测到页面需要向上滚动,扫描当前页面上部的页面,获取页面上部的待加载的模块,将待加载的模块存入渲染列表中;检测到页面需要向下滚动,扫描当前页面下部的页面,获取页面下部的待加载的模块,将待加载的模块存入渲染列表中;检测到页面需要进行跳转,扫描需要跳转的页面,获取页面中待加载的模块,将待加载的模块存入渲染列表中。
根据本申请上述实施例,步骤21从至少一个页面组件中查找更新页面所需要的待渲染的页面组件包括如下步骤:
扫描页面在显示界面的可见区域中的模块;
需要说明的是,显示界面中可见区域内的模块为页面发生变化后需要在显示界面内进行显示的模块,触发懒加载处理后,获取到的未渲染模块部分需要显示在显示界面中的模块,部分为暂时不需要显示在显示界面中的模块,对显示界面中可见区域的模块进行扫描,即获得了需要显示在显示界面内的待加载的模块。
基于可见区域中的模块,从渲染列表进行二分查找;
在上述步骤中,渲染列表中存储的是需要进行懒加载的所有的模块,确定可见区域的模块后,在渲染列表中查找是否存在可见区域的模块,在本实施例中,采用二分查找的查找方式,二分查找即为折半查找,先查找渲染列表的中间部位是否存在可见区域的模块,不存在的话,将渲染列表分为前后两个表,分别在两个表的中间部位查询是否存在可见区域的模块,利用二分查找的方式,可以提高查找效率,快速确定渲染列表中是否存在可见区域的模块。
在查找成功的情况下,则获取至少一个需要渲染在可见区域中的页面组件;
在上述步骤中,在从渲染列表中查找到可见区域的模块的情况下,则获取可见区域的模块对应的未渲染组件,将对应的未渲染组件渲染在显示界面内。在从渲染列表中查找不到可见区域的模块的情况下,说明待加载的模块中不存在可见区域的模块。
根据本申请上述实施例,在查找成功的情况下,上述方法还包括如下步骤:
判断是否存在与需要渲染的页面组件关联的至少一个第一组件。
在上述步骤中,与未渲染组件关联的第一组件为未渲染的可见区域的模块,判断是否存在与未渲染组件关联的第一组件的具体判断方式可以为,判断渲染列表中未渲染组件的上一个组件是否也为未渲染的可见区域的模块,判断渲染列表中未渲染组件的下一个组件是否也为未渲染的可见区域的模块。
在存在的情况下,则继续查找与第一组件关联的第二组件,直至不存在关联的组件。
在上述步骤中,与未渲染组件关联的第二组件也为未渲染的可见区域的模块,若第一组件为渲染列表中未渲染组件的上一个组件,在存在与未渲染组件关联的第一组件的情况下,判断第一组件上部是否存在第二组件;若第一组件为渲染列表中未渲染组件的下一个组件,在存在与未渲染组件关联的第一组件的情况下,判断第一组件下部是否存在第二组件,直至未渲染列表中的未渲染的可见区域的模块都被找到为止。
实施例2
在上述运行环境下,本申请提供了如图3所示的页面懒加载的方法。图3是根据本发明实施例二的页面懒加载的方法的流程图。
在显示界面内打开页面,获取定位到页面上的目标对象的锚点,并根据锚点进行首屏渲染,得到初始界面。
具体地,根据锚点在显示界面内对初始元素和初始模块进行渲染,得到初始页面,也即,可以满足用户的基础需求的页面。
进行首屏渲染的同时,扫描页面,将待加载的模块对应的页面组件存入渲染列表。
具体地,根据页面需要发生变化的情况获取待加载的模块,获取到的待加载的模块至少为一个,例如,检测到页面需要向上滚动,扫描当前页面上部的页面,获取页面上部的待加载的模块;检测到页面需要向下滚动,扫描当前页面下部的页面,获取页面下部的待加载的模块;检测到页面需要进行跳转,扫描需要跳转的页面,获取页面中待加载的模块,将待加载的模块对应的页面组件存入渲染列表。
在确定页面发生更新时,基于可见区域的模块,从渲染列表中查找待渲染组件,并加载查询到的待渲染组件至显示界面,从而在显示界面内显示用户需要查看的信息。
实施例3
在上述运行环境下,本申请提供了如图4所示的页面懒加载的方法。图4是根据本发明实施例三的页面懒加载的方法的流程图。
步骤41,首次打开页面的情况下,获取定位到页面上的目标对象的锚点。
在上述步骤中,用户可以在显示界面中打开页面,显示界面可以为用户可以直观获知信息的区域,具体地,显示界面可以位于目标客户端的显示屏中,目标客户端可以为PC机、手机。
首次在显示界面中打开页面,可以为在屏幕上首次点击浏览器图标,浏览器的搜索主页显示在浏览器显示界面内,还可以为在屏幕上首次点击应用软件的客户端图标,应用软件的首页显示在应用软件显示界面内。目标对象可以为页面上显示的任一模块或元素,首次在显示界面中打开页面后,获取设置在页面上的锚点。
步骤42,基于目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,渲染列表包括至少一个页面组件。
在上述步骤中,由于页面中的元素和模块数量种类较多,首次需要显示在显示界面内的初始元素和初始模块为页面中最为关键的元素和模块,是页面上设置锚点的模块或元素,以及用户在打开页面后最关注的内容的元素和模块,或是希望用户关注的内容的元素和模块。
例如,购物软件的首页设置有背景图案、该购物软件的标识图案、滚动推荐的商品图案、近期的促销活动图标、商品搜索图标、购物车图标以及用户信息设置图标等,在近期的促销活动模块设置有锚点,打开购物应用软件,首次需要显示在购物应用软件的显示界面中的模块可以为近期的促销活动图标、以及商品搜索图标等,便于用户打开页面后能够实现搜索目标商品,以及点击链接可以定位到促销活动图标,从而跳转到促销活动页面。
需要说明的是,页面对应的渲染列表为页面组件数据库,其中包括至少一个需要懒加载的页面组件,需要懒加载的页面组件为页面变化时需要进行加载的页面组件,页面组件可以包括页面模块和页面元素,页面模块可以为封装好的需要整体加载和渲染的页面组件,而页面元素可以为单独存在于背景上的文字、图案等元素。
步骤43,在确定页面发生更新的情况下,从渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件。
在上述步骤中,更新页面所需要的待渲染的页面组件为初始页面变化后需要显示在显示界面中的组件。需要说明的是,为了节省资源,显示界面中的初始页面仅加载和渲染出该页面中的组件,初始页面需要发生变化时,获知初始页面需要发生变化的情况,按照页面需要发生变化的情况从渲染列表中查找需要渲染在显示界面中的未渲染组件。
具体地,初始页面需要发生变化可以为页面需要发生滚动操作或移动操作,例如,用户将光标放置页面的任意区域,并上下滚动鼠标,页面向上滚动或向下滚动进行内容显示,此时,触发懒加载处理,从渲染列表中查找页面上方或页面下方需要渲染的未渲染组件,可以为需要渲染的文字和图片。再例如,用户将光标放置在页面右侧的控制页面移动的图标上,并按住鼠标拖动图标上移或下移,此时,触发懒加载处理,从渲染列表中查找页面上方或页面下方需要渲染的未渲染组件。再例如,在非全屏显示的情况下,用户光标放置在页面下部的控制页面移动的图标上,并按住鼠标拖动图标左移或右移,此时,触发懒加载处理,从渲染列表中查找当前页面左边页或右边页面文档中的组件。
具体地,初始页面需要发生变化可以为页面需要发生翻页操作,例如,上下翻页可以为用户点击页面底部或顶部的翻页图标,选择“上一页”或“下一页”进行翻页;再例如,在光标显示在页面顶部或底部时,继续上拉或下拉,自动翻页;此时,触发懒加载处理,从渲染列表中查找上一页或下一页文档中的需要渲染的组件,可以为上一页或下一页文档中所有需要渲染的文字和图片。另外,对于具有触摸功能的屏幕,用户左右滑动屏幕,还可以进行左右翻页,此时,触发懒加载处理,从渲染列表中查找当前页面左边页或右边页面文档中的需要渲染的组件。
具体地,初始页面需要发生变化可以为页面需要发生调整大小操作,例如,调整大小操作可以为用户点击放大或缩小图标,进行网页显示内容的缩放,在放大操作中,页面需要显示更多细节,此时,触发懒加载处理,从渲染列表中查找需要渲染的细节元素组件;在缩小过程中,页面需要显示当前未显示在页面上的内容,此时,触发懒加载处理,从渲染列表中查找需要显示在显示界面中的未渲染组件。
具体地,初始页面需要发生变化可以为页面需要发生锚点跳转,锚点跳转为用户点击当前页面上的一个链接,页面跳转至指定页面,在检测到点击操作时,触发懒加载处理,从渲染列表中查找指定页面中需要渲染的组件。
需要说明的是,在上述步骤中,页面在显示界面中的显示内容需要发生变化,即为页面发生变化,本发明对页面需要发生变化的情形不做限制。
步骤44,将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
在上述步骤中,查询到的未渲染组件即为初始页面变化后需要显示在显示界面内的未经渲染的组件,在初始页面变化的过程中,加载并渲染查询到的未渲染组件,使得渲染后的组件显示在显示界面内,显示界面内的组件得以更新,用户可以查看更新后的页面内容。
根据本申请上述实施例,基于初始元素和初始模块在显示界面内进行渲染,得到初始页面。
在上述步骤中,初始元素和初始模块为页面中最为关键的元素和模块,将初始元素和初始模块在显示界面内进行渲染后,显示界面内得到由渲染后的初始元素和初始模块构成的初始页面,也即,可以满足用户的基础需求的页面。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例4
根据本发明实施例,还提供了一种用于实施上述页面懒加载的方法的装置,如图5所示,该装置包括:确定单元51,第一查找单元52和第一加载单元53。
确定单元51,用于确定页面发生更新。
第一查找单元52,用于从至少一个页面组件中查找更新页面所需要的待渲染的页面组件。
在一种可选的方案中,需要渲染在显示界面中的未渲染组件为页面变化后需要显示在显示界面中的组件。需要说明的是,为了节省资源,显示界面中的当前页面仅加载和渲染出该页面中的组件,当前页面需要发生变化时,获知当前页面需要发生变化的情况,按照页面需要发生变化的情况从渲染列表中查找需要渲染在显示界面中的未渲染组件。
第一加载单元53,用于将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
需要说明的是,查询到的未渲染组件即为页面变化后需要显示在显示界面内的未经渲染的组件,在页面变化的过程中,加载并渲染查询到的未渲染组件,使得渲染后的组件显示在显示界面内,显示界面内的组件得以更新,用户可以查看更新后的页面内容。
本申请上述实施例四公开的方案中,在页面发生更新时,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件的方式,通过在查找待渲染的页面组件前获取页面对应的页面组件,达到了将需要渲染在显示界面中的未渲染组件加载在显示界面中的目的,从而实现了采用懒加载来渲染页面的过程中显示内容准确的技术效果,进而解决了现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
根据本申请上述实施例,如图6所示,上述装置还包括:第一获取单元61,用于在显示页面的情况下,获取页面对应的渲染列表,渲染列表包括所述至少一个页面组件。
需要说明的是,页面显示在显示界面上,显示界面可以为用户可以直观获知信息的区域,具体地,显示界面可以位于目标客户端的显示屏中,目标客户端可以为PC机、手机,例如,打开手机上的浏览器,显示界面为手机屏幕上浏览器的显示界面,打开手机上的一个应用软件,显示界面为手机屏幕上应用软件的显示界面。
打开页面为将页面中的内容在显示界面中显示,具体地,显示界面为手机屏幕上浏览器的显示界面时,打开页面可以为在网址输入栏输入网址后显示相应的网页页面;显示界面为手机屏幕上应用软件的显示界面时,打开页面还可以为点击该应用软件在桌面上的图标,显示应用软件的首页。
需要说明的是,页面对应的渲染列表为页面组件数据库,其中包括至少一个需要懒加载的页面组件,需要懒加载的页面组件为页面变化时需要进行加载的页面组件,页面组件可以包括页面模块和页面元素,页面模块可以为封装好的需要整体加载和渲染的页面组件,而页面元素可以为单独存在于背景上的文字、图案等元素。
根据本申请上述实施例,在检测到页面发生如下任意一种操作的情况下,确定页面发生更新:页面发生滚动操作、翻页操作、调整大小操作、移动操作和锚点跳转操作。
具体地,页面发生滚动操作可以为基于当前页面向上滚动或向下滚动,例如,用户将光标放置页面的任意区域,并上下滚动鼠标,页面向上滚动或向下滚动进行内容显示。
具体地,翻页操作可以为上下翻页、左右翻页或跳转翻页,例如,上下翻页可以为用户点击页面底部或顶部的翻页图标,选择“上一页”或“下一页”进行翻页;再例如,在光标显示在页面顶部或底部时,继续上拉或下拉,自动翻页。另外,对于具有触摸功能的屏幕,用户左右滑动屏幕,还可以进行左右翻页。
具体地,调整大小操作为调整页面在显示界面内的显面示比例,例如,调整大小操作可以为用户点击放大或缩小图标,进行网页显示内容的缩放,在放大操作中,页面显示更多细节;在缩小过程中,页面显示当前未显示在页面上的内容。
具体地,页面发生移动操作可以为基于当前页面向上移动或向下移动,也可以为基于当前页面向左移动或向右移动,例如,用户将光标放置在页面右侧的控制页面移动的图标上,并按住鼠标拖动图标上移或下移。再例如,在非全屏显示的情况下,用户光标放置在页面下部的控制页面移动的图标上,并按住鼠标拖动图标左移或右移。
具体地,锚点跳转为用户点击当前页面上的一个链接,页面跳转至指定页面。
需要说明的是,页面在显示界面中的显示内容需要发生变化,即为页面发生变化,本发明对页面需要发生变化的情形不做限制。
根据本申请上述实施例,如图7所示,上述装置还包括:第二获取单元71,第一扫描单元72和第一渲染单元73。
其中,第二获取单元71,用于在获取页面对应的渲染列表之前,首次打开页面的情况下,获取定位到页面上的目标对象的锚点。
在一种可选的方案中,首次在显示界面中打开页面,可以为在屏幕上首次点击浏览器图标,浏览器的搜索主页显示在浏览器显示界面内,还可以为在屏幕上首次点击应用软件的客户端图标,应用软件的首页显示在应用软件显示界面内,目标对象可以为页面上显示的任一模块或元素,首次在显示界面中打开页面后,获取设置在页面上的锚点。
第一扫描单元72,用于基于目标对象的锚点,扫描首次需要显示的初始元素和初始模块。
需要说明的是,基于目标对象的锚点进行扫描,是为了防止锚点设置在页面的底部的图片上,按从上到下的顺序加载页面上的元素和模块,点击页面首部的链接时,由于锚点所在的图片未加载出来,无法链接到锚点实现页面的正常跳转。
由于页面中的元素和模块数量种类较多,首次需要显示在显示界面内的初始元素和初始模块为页面中最为关键的元素和模块,是页面上设置锚点的模块或元素,以及用户在打开页面后最关注的内容的元素和模块,或是希望用户关注的内容的元素和模块。
例如,购物软件的首页设置有背景图案、该购物软件的标识图案、滚动推荐的商品图案、近期的促销活动图标、商品搜索图标、购物车图标以及用户信息设置图标等,在近期的促销活动模块设置有锚点,打开购物应用软件,首次需要显示在购物应用软件的显示界面中的模块可以为近期的促销活动图标、以及商品搜索图标等,便于用户打开页面后能够实现搜索目标商品,以及点击链接可以定位到促销活动图标,从而跳转到促销活动页面。
第一渲染单元73,用于基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
在一种可选的方案中,初始元素和初始模块为页面中最为关键的元素和模块,将初始元素和初始模块在显示界面内进行渲染后,显示界面内得到由渲染后的初始元素和初始模块构成的初始页面,也即,可以满足用户的基础需求的页面。
此处需要说明的是,第二获取单元71,第一扫描单元72和第一渲染单元73对应于实施例一中的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,如图8所示,上述装置还包括:第二扫描单元81和存储单元82。
其中,第二扫描单元81,用于在从至少一个页面组件中查找更新页面所需要的待渲染的页面组件之前,扫描页面,获取待加载的至少一个模块。
在一种可选的方案中,检测到显示界面内的页面更新时,根据页面发生变化的情况获取待加载的模块,获取到的待加载的模块至少为一个,例如,检测到页面需要向上滚动,扫描当前页面上部的页面,获取页面上部的待加载的模块;检测到页面需要向下滚动,扫描当前页面下部的页面,获取页面下部的待加载的模块;检测到页面需要进行跳转,扫描需要跳转的页面,获取页面中待加载的模块。
存储单元82,用于将待加载的模块对应的页面组件存入渲染列表。
在一种可选的方案中,检测到页面需要向上滚动,扫描当前页面上部的页面,获取页面上部的待加载的模块,将待加载的模块存入渲染列表中;检测到页面需要向下滚动,扫描当前页面下部的页面,获取页面下部的待加载的模块,将待加载的模块存入渲染列表中;检测到页面需要进行跳转,扫描需要跳转的页面,获取页面中待加载的模块,将待加载的模块存入渲染列表中。
此处需要说明的是,第二扫描单元81和存储单元82对应于实施例一中的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,如图9所示,上述装置还包括:扫描模块521,第一查找模块522,获取模块523。
扫描模块521,用于扫描页面在显示界面的可见区域中的模块。
需要说明的是,显示界面中可见区域内的模块为页面发生变化后需要在显示界面内进行显示的模块,触发懒加载处理后,获取到的未渲染模块部分需要显示在显示界面中的模块,部分为暂时不需要显示在显示界面中的模块,对显示界面中可见区域的模块进行扫描,即获得了需要显示在显示界面内的待加载的模块。
第一查找模块522,用于基于可见区域中的模块,从渲染列表进行二分查找。
在一种可选的方案中,渲染列表中存储的是需要进行懒加载的所有的模块,确定可见区域的模块后,在渲染列表中查找是否存在可见区域的模块,在本实施例中,采用二分查找的查找方式,二分查找即为折半查找,先查找渲染列表的中间部位是否存在可见区域的模块,不存在的话,将渲染列表分为前后两个表,分别在两个表的中间部位查询是否存在可见区域的模块,利用二分查找的方式,可以提高查找效率,快速确定渲染列表中是否存在可见区域的模块。
获取模块523,用于在查找成功的情况下,则获取至少一个需要渲染在可见区域中的页面组件。
在一种可选的方案中,如果从渲染列表中查找到可见区域的模块,则获取可见区域的模块对应的未渲染组件,将对应的未渲染组件渲染在显示界面内。
在一种可选的方案中,如果从渲染列表中查找不到可见区域的模块,说明待加载的模块中不存在可见区域的模块,停止渲染。
此处需要说明的是,扫描模块521,第一查找模块522,获取模块523对应于实施例一中的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,如图10所示,上述装置还包括:判断模块524和第二查找模块525。
判断模块524,用于在查找成功的情况下,判断是否存在与需要渲染的页面组件关联的至少一个第一组件。
在一种可选的方案中,与未渲染组件关联的第一组件为未渲染的可见区域的模块,判断是否存在与未渲染组件关联的第一组件的具体判断方式可以为,判断渲染列表中未渲染组件的上一个组件是否也为未渲染的可见区域的模块,判断渲染列表中未渲染组件的下一个组件是否也为未渲染的可见区域的模块。
第二查找模块525,用于在存在的情况下,则继续查找与第一组件关联的第二组件,直至不存在关联的组件。
在一种可选的方案中,与未渲染组件关联的第二组件也为未渲染的可见区域的模块,若第一组件为渲染列表中未渲染组件的上一个组件,在存在与未渲染组件关联的第一组件的情况下,判断第一组件上部是否存在第二组件;若第一组件为渲染列表中未渲染组件的下一个组件,在存在与未渲染组件关联的第一组件的情况下,判断第一组件下部是否存在第二组件,直至未渲染列表中的未渲染的可见区域的模块都被找到为止。
此处需要说明的是,上述判断模块524和第二查找模块525对应于实施例1中的步骤,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例5
根据本发明实施例,还提供了另一种用于实施上述页面懒加载的方法的装置,如图11所示,该装置包括:第三获取单元111,第三扫描单元112,第二查找单元113和第二加载单元114。
第三获取单元111,用于首次打开页面的情况下,获取定位到页面上的目标对象的锚点。
在显示界面中打开页面,在一种可选的方案中,显示界面可以为用户可以直观获知信息的区域,具体地,显示界面可以位于目标客户端的显示屏中,目标客户端可以为PC机、手机。
首次在显示界面中打开页面,可以为在屏幕上首次点击浏览器图标,浏览器的搜索主页显示在浏览器显示界面内,还可以为在屏幕上首次点击应用软件的客户端图标,应用软件的首页显示在应用软件显示界面内。目标对象可以为页面上显示的任一模块或元素,首次在显示界面中打开页面后,获取设置在页面上的锚点。
第三扫描单元112,用于基于目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,渲染列表包括至少一个页面组件。
在一种可选的方案中,由于页面中的元素和模块数量种类较多,首次需要显示在显示界面内的初始元素和初始模块为页面中最为关键的元素和模块,是页面上设置锚点的模块或元素,以及用户在打开页面后最关注的内容的元素和模块,或是希望用户关注的内容的元素和模块。
例如,购物软件的首页设置有背景图案、该购物软件的标识图案、滚动推荐的商品图案、近期的促销活动图标、商品搜索图标、购物车图标以及用户信息设置图标等,在近期的促销活动模块设置有锚点,打开购物应用软件,首次需要显示在购物应用软件的显示界面中的模块可以为近期的促销活动图标、以及商品搜索图标等,便于用户打开页面后能够实现搜索目标商品,以及点击链接可以定位到促销活动图标,从而跳转到促销活动页面。
需要说明的是,页面对应的渲染列表为页面组件数据库,其中包括至少一个需要懒加载的页面组件,需要懒加载的页面组件为页面变化时需要进行加载的页面组件,页面组件可以包括页面模块和页面元素,页面模块可以为封装好的需要整体加载和渲染的页面组件,而页面元素可以为单独存在于背景上的文字、图案等元素。
第二查找单元113,用于在确定页面发生更新的情况下,从渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件。
在一种可选的方案中,更新页面所需要的待渲染的页面组件为初始页面变化后需要显示在显示界面中的组件。需要说明的是,为了节省资源,显示界面中的初始页面仅加载和渲染出该页面中的组件,初始页面需要发生变化时,获知初始页面需要发生变化的情况,按照页面需要发生变化的情况从渲染列表中查找需要渲染在显示界面中的未渲染组件。
具体地,初始页面需要发生变化可以为页面需要发生滚动操作或移动操作,例如,用户将光标放置页面的任意区域,并上下滚动鼠标,页面向上滚动或向下滚动进行内容显示,此时,触发懒加载处理,从渲染列表中查找页面上方或页面下方需要渲染的未渲染组件,可以为需要渲染的文字和图片。再例如,用户将光标放置在页面右侧的控制页面移动的图标上,并按住鼠标拖动图标上移或下移,此时,触发懒加载处理,从渲染列表中查找页面上方或页面下方需要渲染的未渲染组件。再例如,在非全屏显示的情况下,用户光标放置在页面下部的控制页面移动的图标上,并按住鼠标拖动图标左移或右移,此时,触发懒加载处理,从渲染列表中查找当前页面左边页或右边页面文档中的组件。
具体地,初始页面需要发生变化可以为页面需要发生翻页操作,例如,上下翻页可以为用户点击页面底部或顶部的翻页图标,选择“上一页”或“下一页”进行翻页;再例如,在光标显示在页面顶部或底部时,继续上拉或下拉,自动翻页;此时,触发懒加载处理,从渲染列表中查找上一页或下一页文档中的需要渲染的组件,可以为上一页或下一页文档中所有需要渲染的文字和图片。另外,对于具有触摸功能的屏幕,用户左右滑动屏幕,还可以进行左右翻页,此时,触发懒加载处理,从渲染列表中查找当前页面左边页或右边页面文档中的需要渲染的组件。
具体地,初始页面需要发生变化可以为页面需要发生调整大小操作,例如,调整大小操作可以为用户点击放大或缩小图标,进行网页显示内容的缩放,在放大操作中,页面需要显示更多细节,此时,触发懒加载处理,从渲染列表中查找需要渲染的细节元素组件;在缩小过程中,页面需要显示当前未显示在页面上的内容,此时,触发懒加载处理,从渲染列表中查找需要显示在显示界面中的未渲染组件。
具体地,初始页面需要发生变化可以为页面需要发生锚点跳转,锚点跳转为用户点击当前页面上的一个链接,页面跳转至指定页面,在检测到点击操作时,触发懒加载处理,从渲染列表中查找指定页面中需要渲染的组件。
需要说明的是,在上述步骤中,页面在显示界面中的显示内容需要发生变化,即为页面发生变化,本发明对页面需要发生变化的情形不做限制。
第二加载单元114,用于将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
在一种可选的方案中,查询到的待渲染的页面组件即为初始页面变化后需要显示在显示界面内的未经渲染的组件,在初始页面变化的过程中,加载并渲染查询到的未渲染组件,使得渲染后的组件显示在显示界面内,显示界面内的组件得以更新,用户可以查看更新后的页面内容。
本申请上述实施例六公开的方案中,在页面发生更新时,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件的方式,通过在查找待渲染的页面组件前获取页面对应的页面组件,达到了将需要渲染在显示界面中的未渲染组件加载在显示界面中的目的,从而实现了采用懒加载来渲染页面的过程中显示内容准确的技术效果,进而解决了现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
根据本申请上述实施例,基于初始元素和初始模块在显示界面内进行渲染,得到初始页面。
在一种可选的方案中,初始元素和初始模块为页面中最为关键的元素和模块,将初始元素和初始模块在显示界面内进行渲染后,显示界面内得到由渲染后的初始元素和初始模块构成的初始页面,也即,可以满足用户的基础需求的页面。
实施例6
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的漏洞检测方法中以下步骤的程序代码:确定页面发生更新;从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
可选地,图12是根据本发明实施例的一种计算机终端的结构框图。如图12所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器121、存储器123、以及125。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:确定页面发生更新;从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
可选的,上述处理器还可以执行如下步骤的程序代码:在显示页面的情况下,获取页面对应的渲染列表,渲染列表包括所述至少一个页面组件。
可选的,上述处理器还可以执行如下步骤的程序代码:在检测到页面发生如下任意一种操作的情况下,则确定页面发生更新:页面发生滚动操作、翻页操作、调整大小操作、移动操作和锚点跳转操作。
可选的,上述处理器还可以执行如下步骤的程序代码:在获取页面对应的渲染列表之前,该方法还包括:首次打开页面的情况下,获取定位到页面上的目标对象的锚点;基于目标对象的锚点,扫描首次需要显示的初始元素和初始模块;基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
可选的,上述处理器还可以执行如下步骤的程序代码:在从至少一个页面组件中查找更新页面所需要的待渲染的页面组件之前,该方法还包括:扫描页面,获取待加载的至少一个模块;将待加载的模块对应的页面组件存入渲染列表。
可选的,上述处理器还可以执行如下步骤的程序代码:从至少一个页面组件中查找更新页面所需要的待渲染的页面组件包括:扫描页面在显示界面的可见区域中的模块;基于可见区域中的模块,从渲染列表进行二分查找;在查找成功的情况下,则获取至少一个需要渲染在可见区域中的页面组件。
可选的,上述处理器还可以执行如下步骤的程序代码:该方法还包括:在查找成功的情况下,判断是否存在与需要渲染的页面组件关联的至少一个第一组件;在存在的情况下,则继续查找与第一组件关联的第二组件,直至不存在关联的组件。
处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:可选的,上述处理器还可以执行如下步骤的程序代码:首次打开页面的情况下,获取定位到页面上的目标对象的锚点;基于目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,渲染列表包括至少一个页面组件;在确定页面发生更新的情况下,从渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
可选的,上述处理器还可以执行如下步骤的程序代码:基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
采用本发明实施例,在页面发生更新时,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件的方式,通过在查找待渲染的页面组件前获取页面对应的页面组件,达到了将需要渲染在显示界面中的未渲染组件加载在显示界面中的目的,从而实现了采用懒加载来渲染页面的过程中显示内容准确的技术效果,进而解决了现有技术采用懒加载来渲染页面的过程中,由锚点定位导致显示的内容不准确的技术问题。
本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端12还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的页面懒加载的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定页面发生更新;从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
在显示页面的情况下,获取页面对应的渲染列表,渲染列表包括所述至少一个页面组件。
在检测到页面发生如下任意一种操作的情况下,则确定页面发生更新:页面发生滚动操作、翻页操作、调整大小操作、移动操作和锚点跳转操作。
在获取页面对应的渲染列表之前,该方法还包括:首次打开页面的情况下,获取定位到页面上的目标对象的锚点;基于目标对象的锚点,扫描首次需要显示的初始元素和初始模块;基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
在从至少一个页面组件中查找更新页面所需要的待渲染的页面组件之前,该方法还包括:扫描页面,获取待加载的至少一个模块;将待加载的模块对应的页面组件存入渲染列表。
从至少一个页面组件中查找更新页面所需要的待渲染的页面组件包括:扫描页面在显示界面的可见区域中的模块;基于可见区域中的模块,从渲染列表进行二分查找;在查找成功的情况下,则获取至少一个需要渲染在可见区域中的页面组件。
该方法还包括:在查找成功的情况下,判断是否存在与需要渲染的页面组件关联的至少一个第一组件;在存在的情况下,则继续查找与第一组件关联的第二组件,直至不存在关联的组件。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:首次打开页面的情况下,获取定位到页面上的目标对象的锚点;基于目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,渲染列表包括至少一个页面组件;在确定页面发生更新的情况下,从渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件;将待渲染的页面组件,加载到页面进行渲染,得到更新后的页面。
基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种页面懒加载的方法,包括:
确定页面发生更新;
从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;
将所述待渲染的页面组件,加载到所述页面进行渲染,得到更新后的页面;
其中,所述方法还包括:
在显示页面的情况下,获取所述页面对应的渲染列表,所述渲染列表包括所述至少一个页面组件;
在获取所述页面对应的渲染列表之前,所述方法还包括:
首次打开页面的情况下,获取定位到页面上的目标对象的锚点;
基于所述目标对象的锚点,扫描首次需要显示的初始元素和初始模块;
基于所述初始元素和所述初始模块在显示界面中进行渲染,得到初始页面。
2.根据权利要求1所述的方法,其中,在检测到所述页面发生如下任意一种操作的情况下,则确定页面发生更新:所述页面发生滚动操作、翻页操作、调整大小操作、移动操作和锚点跳转操作。
3.根据权利要求2所述的方法,其中,在从至少一个页面组件中查找更新页面所需要的待渲染的页面组件之前,所述方法还包括:
扫描所述页面,获取待加载的至少一个模块;
将所述待加载的模块对应的页面组件存入所述渲染列表。
4.根据权利要求1至3中任意一项所述的方法,其中,从至少一个页面组件中查找更新页面所需要的待渲染的页面组件包括:
扫描页面在显示界面的可见区域中的模块;
基于所述可见区域中的模块,从所述渲染列表进行二分查找;
在查找成功的情况下,则获取至少一个需要渲染在所述可见区域中的页面组件。
5.根据权利要求4所述的方法,其中,所述方法还包括:
在查找成功的情况下,判断是否存在与所述需要渲染的页面组件关联的至少一个第一组件;
在存在的情况下,则继续查找与所述第一组件关联的第二组件,直至不存在关联的组件。
6.一种页面懒加载的方法,包括:
首次打开页面的情况下,获取定位到页面上的目标对象的锚点;
基于所述目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,所述渲染列表包括至少一个页面组件;
在确定页面发生更新的情况下,从所述渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件;
将所述待渲染的页面组件,加载到所述页面进行渲染,得到更新后的页面。
7.根据权利要求6所述的方法,其中,基于初始元素和初始模块在显示界面中进行渲染,得到所述初始页面。
8.一种页面懒加载的装置,包括:
确定单元,用于确定页面发生更新;
第一查找单元,用于从至少一个页面组件中查找更新页面所需要的待渲染的页面组件;
第一加载单元,用于将所述待渲染的页面组件,加载到所述页面进行渲染,得到更新后的页面;
其中,所述装置还包括:第一获取单元,用于在显示页面的情况下,获取页面对应的渲染列表,渲染列表包括所述至少一个页面组件;所述装置还包括:第二获取单元,用于在获取页面对应的渲染列表之前,首次打开页面的情况下,获取定位到页面上的目标对象的锚点;第一扫描单元,用于基于目标对象的锚点,扫描首次需要显示的初始元素和初始模块;第一渲染单元,用于基于初始元素和初始模块在显示界面中进行渲染,得到初始页面。
9.一种页面懒加载的装置,包括:
第三获取单元,用于首次打开页面的情况下,获取定位到页面上的目标对象的锚点;
第三扫描单元,用于基于所述目标对象的锚点,扫描初始页面,并获取页面对应的渲染列表,其中,所述渲染列表包括至少一个页面组件;
第二查找单元,用于在确定页面发生更新的情况下,从所述渲染列表的页面组件中查找更新页面所需要的待渲染的页面组件;
第二加载单元,用于将所述待渲染的页面组件,加载到所述页面进行渲染,得到更新后的页面。
10.一种存储介质,其中,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的页面懒加载的方法。
11.一种处理器,其中,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的页面懒加载的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811456154.6A CN111259284B (zh) | 2018-11-30 | 2018-11-30 | 页面懒加载的方法和装置、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811456154.6A CN111259284B (zh) | 2018-11-30 | 2018-11-30 | 页面懒加载的方法和装置、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111259284A CN111259284A (zh) | 2020-06-09 |
CN111259284B true CN111259284B (zh) | 2023-05-02 |
Family
ID=70950209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811456154.6A Active CN111259284B (zh) | 2018-11-30 | 2018-11-30 | 页面懒加载的方法和装置、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259284B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831386B (zh) * | 2020-07-30 | 2024-04-09 | 抖音视界有限公司 | 页面内容显示方法、装置、电子设备及计算机可读介质 |
CN112068835A (zh) * | 2020-09-04 | 2020-12-11 | 中国平安财产保险股份有限公司 | 一种在线生成页面的方法和装置 |
CN112364279B (zh) * | 2021-01-14 | 2021-04-27 | 北京小米移动软件有限公司 | 图片加载方法、装置 |
CN112417344B (zh) * | 2021-01-25 | 2021-10-08 | 北京小米移动软件有限公司 | 渲染方法、装置、电子设备及存储介质 |
CN113608728B (zh) * | 2021-08-09 | 2023-08-01 | 宝宝巴士股份有限公司 | 一种基于Xcode的自动化懒加载方法及存储介质 |
CN113656020A (zh) * | 2021-08-13 | 2021-11-16 | 小马国炬(玉溪)科技有限公司 | 一种基于ReactNative的图片展示组件开发方法及相关组件 |
CN114339369A (zh) * | 2021-12-29 | 2022-04-12 | 四川九州电子科技股份有限公司 | 适用于机顶盒的电视端页面展示方法 |
CN115438282B (zh) * | 2022-09-05 | 2024-01-23 | 恒生电子股份有限公司 | 页面中元素的定位方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566696B1 (en) * | 2011-07-14 | 2013-10-22 | Google Inc. | Predicting user navigation events |
CN104281677A (zh) * | 2014-09-29 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 页面的展现方法及装置 |
CN105278977A (zh) * | 2014-07-14 | 2016-01-27 | 阿里巴巴集团控股有限公司 | 一种网页组件的加载方法和装置 |
CN108170497A (zh) * | 2016-12-05 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种页面渲染的方法及装置 |
CN108182195A (zh) * | 2017-11-23 | 2018-06-19 | 五八有限公司 | 一种数据的加载方法、装置、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778365B (zh) * | 2012-10-18 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种检测网页隐藏内容的方法,及设备 |
-
2018
- 2018-11-30 CN CN201811456154.6A patent/CN111259284B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566696B1 (en) * | 2011-07-14 | 2013-10-22 | Google Inc. | Predicting user navigation events |
CN105278977A (zh) * | 2014-07-14 | 2016-01-27 | 阿里巴巴集团控股有限公司 | 一种网页组件的加载方法和装置 |
CN104281677A (zh) * | 2014-09-29 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 页面的展现方法及装置 |
CN108170497A (zh) * | 2016-12-05 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种页面渲染的方法及装置 |
CN108182195A (zh) * | 2017-11-23 | 2018-06-19 | 五八有限公司 | 一种数据的加载方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111259284A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259284B (zh) | 页面懒加载的方法和装置、存储介质和处理器 | |
CN107122192B (zh) | 网页视图展示方法、装置、计算设备及存储介质 | |
US10460001B2 (en) | Window switching method and device and storage medium thereof | |
CN105700800B (zh) | 一种页面信息的操作方法、装置及电子设备 | |
KR20140039209A (ko) | 빠른 사이트 액세스 사용자 인터페이스를 갖춘 웹 브라우저 | |
KR20120049284A (ko) | 정보 표시 장치, 정보 표시 방법, 기록 매체 및 정보 표시 시스템 | |
CN111638848B (zh) | 页面切换方法、装置及电子设备 | |
US8949858B2 (en) | Augmenting user interface elements with information | |
CN103020110A (zh) | 创建并维护所浏览的文档的图像 | |
CN102893259B (zh) | 嵌入式搜索栏 | |
CN102999342A (zh) | 一种网页中图片的全屏浏览方法及其装置 | |
CN104063484A (zh) | 一种网页呈现方法、装置及电子设备 | |
CN109933258B (zh) | 信息显示方法、装置、电子设备及可读存储介质 | |
CN105630310A (zh) | 一种图组切换时的标题展示方法和装置 | |
US11023944B2 (en) | Mobile device for retrieving product information associated with scanned barcode data when the mobile device is connected to a network | |
JP2016042372A (ja) | 端末用プログラム、端末装置及び端末制御方法 | |
CN105224654A (zh) | 一种网页浏览模式切换方法及电子设备 | |
US20170351419A1 (en) | Systems and methods of dynamically providing information at detection of scrolling operations | |
WO2017098576A1 (ja) | 提示装置、提示方法、非一時的なコンピュータ読取可能な情報記録媒体、及び、プログラム | |
JP2018073302A (ja) | 表示制御プログラム、表示制御方法および情報処理装置 | |
CN110945468B (zh) | 在移动终端上处理其每一内容与子内容关联的内容的列表的方法 | |
CN114077371A (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
CN113077322A (zh) | 商品信息展示方法、装置、存储介质及计算机设备 | |
CN105677749B (zh) | 一种页面显示方法及装置 | |
CN110955473A (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 |