CN109857420A - 页面更新方法、装置、计算机设备及存储介质 - Google Patents
页面更新方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109857420A CN109857420A CN201811527537.8A CN201811527537A CN109857420A CN 109857420 A CN109857420 A CN 109857420A CN 201811527537 A CN201811527537 A CN 201811527537A CN 109857420 A CN109857420 A CN 109857420A
- Authority
- CN
- China
- Prior art keywords
- page
- memory value
- browser
- association
- value
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000006870 function Effects 0.000 claims abstract description 141
- 238000001514 detection method Methods 0.000 claims abstract description 126
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013481 data capture Methods 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种页面更新方法、装置、计算机设备及存储介质,先通过判断对应的目标浏览器是否支持本地存储功能来确定是否要定时检测关联页面的关联内存值是否发生变化,避免冗余操作,提高页面更新效率。而在判断出目标浏览器不支持本地存储功能后,开始进行定时检测关联内存值是否发生变化并在得知关联内存值发生变化后,根据关联内存值更新对应的关联页面,能够及时响应页面内存值的变化,进一步提高页面更新效率。
Description
技术领域
本发明涉及网页设计领域,尤其涉及一种页面更新方法、装置、计算机设备及存储介质。
背景技术
随着科技的不断发展,网页开发语言也不断升级,如超文本标记语言俗称html由1993年的第一版至今已经发展到第五版html5,浏览器研发商为了适应这一发展,使得浏览器兼容更多的新功能,不断更新浏览器版本。但是一些浏览器更新的过程中,已不再兼容一些版本较低的浏览器,如IE8.0以下版本的浏览器已经不支持本地存储内存监听管理功能,从而导致部分使用低版本浏览器的用户无法及时获得其他页面的内存值,进而导致页面无法及时响应更新或者页面更新效率不高。
发明内容
本发明实施例提供一种页面更新方法、装置、计算机设备及存储介质,以解决页面更新效率不高问题。
一种页面更新方法,包括:
获取多页面检测请求,所述多页面检测请求包括网址信息;
判断所述网址信息对应的目标浏览器是否支持本地存储功能;
若所述目标浏览器不支持本地存储功能,则开启定时器;
采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致;
若存在任一所述当前关联内存值和所述上一次关联内存值不一致,则关联页面的关联内存值发生变化;
若所述关联内存值发生变化,则根据所述关联内存值更新对应的关联页面。
一种页面更新装置,包括:
请求获取模块,用于获取多页面检测请求,所述多页面检测请求包括网址信息;
本地存储功能判断模块,用于判断所述网址信息对应的目标浏览器是否支持本地存储功能;
定时开启模块,用于若所述目标浏览器不支持本地存储功能,则开启定时器;
定时检测模块,用于采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致;
定时检测结果模块,用于若存在任一所述当前关联内存值和所述上一次关联内存值不一致,则关联页面的关联内存值发生变化;
页面更新模块,用于若所述关联内存值发生变化,则根据所述关联内存值更新对应的关联页面。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述页面更新方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述页面更新方法的步骤。
上述页面更新方法、装置、计算机设备及存储介质,在获取到包括网址信息的多页面检测请求后,根据网址信息判断对应的目标浏览器是否支持本地存储功能,若判断结果为目标浏览器不支持本地存储功能,则开启定时器,定时检测当前关联内存值和上一次关联内存值是否一致,若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化,再根据关联内存值的变化情况来更新对应的关联页面。在目标浏览器不支持本地存储功能后,采用定时检测的方法来监听内存值变化情况,从而使得一些版本较低或者不兼容本地存储功能的浏览器在多页面模式下也能够顺利地及时获得内存值的更新变化情况,从而及时响应页面的更新变化,提高页面更新的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中页面更新方法的一应用环境示意图;
图2是本发明一实施例中页面更新方法的一示例图;
图3是本发明一实施例中页面更新方法的另一示例图;
图4是本发明一实施例中页面更新方法的另一示例图;
图5是本发明一实施例中页面更新方法的另一示例图;
图6是本发明一实施例中页面更新方法的另一示意图;
图7是本发明一实施例中页面更新装置的一示意图;
图8是本发明一实施例中页面更新装置的另一示意图。
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的页面更新方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务端进行通信。客户端发出多页面检测请求后,服务端获取到该多页面检测请求,经过本地存储功能判断和定时检测操作之后,使得对应的关联页面能够根据定时检测到的内存值进行页面更新。其中,客服端(计算机设备)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种页面更新方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10:获取多页面检测请求,多页面检测请求包括网址信息。
其中,多页面检测请求是指在客户端进入多页面模式时触发的对所进入的页面进行检测的请求。多页面模式是指在同一个浏览器中打开同一个域名下的至少两个网页窗口的网页浏览模式。这些网页窗口共用一个浏览器内存,通过特定的技术手段进行内存值的获取或传递,并且这些页面之间存在着相互影响的关系,例如,A页面的内存值改变会影响B页面或C页面的状态或显示。
网址信息是指和网站的网址相关的信息,网址信息主要包括网址的域名信息,域名信息是指称由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。例如,在http://www.abc123.efg.html这个网址信息中,域名信息为abc123。
具体地,多页面检测请求可以是在用户通过浏览器打开网址信息所对应的页面,或者是打开html5应用,进入多页面模式后,客户端触发该多页面检测请求。并且客户端发送该页面检测请求至服务端,服务端再获取该多页面检测请求。其中,该多页面检测请求携带了网址信息。
S20:判断网址信息对应的目标浏览器是否支持本地存储功能。
目标浏览器是指用户进入该网址信息对应的网页所使用的浏览器,并且该用户使用目标浏览器进入了多页面模式。因此,根据网址信息就可以获取到对应的目标浏览器。本地存储(storage)也称为Web storage,本地存储包含了永久性本地存储对象(localStorage)和会话级别的本地存储对象(sessionStorage)。其中,永久性本地存储对象用于长久保存整个网站的本地内存数据。永久性本地存储对象的生命周期是永久的,不会随着网页的窗口或标签页的关闭而关闭,除非用户主动选择清除本地存储功能。会话级别的本地存储对象是一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
通过判断目标浏览器是否支持本地存储功能,根据目标浏览器对本地存储功能的支持情况来判断是否要对关联页面进行定时监听。因为在一些低版本浏览器是无法使用本地存储功能进行页面实时更新,所以要进行定时监听。
具体地,进入多页面模式后,获取打开网址信息所对应的页面的浏览器,并判断该浏览器(即目标浏览器)是否支持本地存储功能。其中,可采用判断目标浏览器是否支持永久性本地存储对象功能(localStorage)来判断该浏览器(即目标浏览器)是否支持本地存储功能。若目标浏览器支持永久性本地存储对象功能,则证明目标浏览器支持本地存储功能,若目标浏览器不支持永久性本地存储对象功能,则证明目标浏览器不支持本地存储功能。
可选地,可以采用判断目标浏览器的类型和版本是否属于浏览器支持数据来判断网址信息对应的目标浏览器是否支持本地存储功能。
S30:若目标浏览器不支持本地存储功能,则开启定时器。
其中,定时器是指由定时器函数构成的工具。可选地,定时器函数可以是setTimeout定时器函数。其中,setTimeout定时器函数主要用于在指定的毫秒数后调用定时函数或定时计算表达式。setTimeout定时器函数主要含有两个参数,第一个参数为定时完成后要调用的函数或表达式,以及第二个参数为预设检测时间,该时间是以毫秒为单位,例如,设定间隔5000ms中检测一次内存值是否发生变化,则预设检测时间为5000ms。
需要说明的是,setTimeout定时器函数是单次定时函数,如果要采用setTimeout定时器函数进行定时检测的话,需要设置一个循环函数(例如,for循环、while循环等),并在循环函数中调用setTimeout定时器。
优选地,定时器函数可以是setInterval定时器函数。其中,setInterval定时器函数主要用于在指定毫秒数后,循环调用定时函数或定时计算表达式。setInterval定时器函数主要含有两个参数,第一个参数为定时完成后要调用的定时函数或定时表达式,以及第二个参数为预设检测时间,该时间是以毫秒为单位,例如,设定间隔5000ms中检测一次内存值是否发生变化,则预设检测时间为5000ms。在这个setInterval定时器函数中,如果没有遇到特殊指令或者清除定时器函数,会每隔预设时间循环执行定时函数或定时计算表达式。
具体地,在获知目标浏览器不支持本地存储功能后,则开启定时器。
S40:采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致。
其中,当前关联内存值是指定时器的定时时间达到预设检测时间时,在目标浏览器对应内存位置中关联内存值的当前实际的值。上一次关联内存值为上一次定时检测之后所保存的关联内存值。
具体地,可以通过检测定时器计时时间是否到达预设检测时间来判断是否开始定时检测。若定时器计时时间到达了预设检测时间,则开始进行检测当前关联内存值和上一次关联内存值是否一致;若若定时器计时时间没有到达预设检测时间,则继续计时,直至定时器计时时间到达预设检测时间。
S50:若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化.
其中,关联页面是指在同一个网址信息的网站页面中,内存值有可能发生更新或者变化的页面,且该页面的内存值的改变会影响多页面模式下其他页面的内存值或者使其他页面状态发生改变。关联内存值是指关联页面中,与多页面模式下的其他页面存在相互影响的关系的内存值。示例性地,若页面A存在内存值a、b和c,如果内存值a的改变不会对其他页面造成影响,而内存值b和c的改变会对其他页面造成影响。则内存值b和c为页面A的关联内存值,内存值a不是页面A的关联内存值。
具体地,若存在任意一个当前关联内存值和上一次关联内存值不相同,则说明目标浏览器的内存中的关联内存值发生了变化。
进一步地,将比较完成之后的当前关联内存值进行存储(可以将目标浏览器内存中当前关联内存值赋值给一个数组变量),存储完成后,则将当前关联内存值作为下一次比较中的上一次关联内存值,当定时器的定时时间再次到达预设检测时间,则获取定时器的定时时间再次到达预设检测时间时的当前关联内存值和上一次关联内存值。特殊地,若该定时检测是判断完浏览器是否支持永久性本地存储对象的功能之后的第一次定时检测,则取当前关联内存值与其本身(当前关联内存值)进行比较,比较完成之后再将当前关联内存值进行存储。
S60:若关联内存值发生变化,则根据关联内存值更新对应的关联页面。
其中,对应的关联页面是指在多页面模式下,因关联内存值发生改变而影响的页面。例如,多页面模式下存在页面A、B和C,若页面A的内存值x发生了改变,页面B和C也会相应的发生改变,此时,称页面B和C是页面A的关联页面,且页面B和C是页面A中的关联内存值x对应的关联页面。
根据关联内存值更新对应的关联页面是指在定时检测到关联内存值发生变化后,在关联页面中调用该关联内存值的地方刷新为变化后关联内存值。例如,检测到关联内存值由a=0变化为a=1,则关联页面中调用该关联内存值的地方刷新为a=1,进而实现对与关联内存值对应的关联页面的实时更新。
具体地,是否更新关联页面是根据关联内存值有没有改变进行的,若关联内存值没有发生改变,则关联页面不会更新;若关联内存值发生了改变,则关联页面会根据关联内存值的变化做出相应的更新。更新关联页面应包括更新关联页面的显示界面和页面状态等当前页面使用到该当前关联内存值的地方。例如,若关联内存值是0或者1,分别对应着关联页面的隐藏和显示。若关联内存值是0,则关联页面的模块X会隐藏,经比较之后,发现该关联内存值改变为1,此时,关联页面的模块X相应地更新为显示状态。
在这一实施例中,先获取包括网址信息的多页面检测请求,再根据网址信息判断对应的目标浏览器是否支持本地存储功能;若目标浏览器不支持本地存储功能,则开启定时器,定时检测当前关联内存值和上一次关联内存值是否一致,若不一致,则根据关联内存值更新对应的关联页面。在目标浏览器不支持本地存储功能后,采用定时检测的方法来监听内存值变化情况,从而使得一些版本较低或者不兼容本地存储功能的浏览器在多页面模式下也能够顺利地及时获得内存值的更新变化情况,从而及时响应页面的更新变化,提高页面更新的效率。
在一实施例中,步骤S10中,即获取多页面检测请求,多页面检测请求包括网址信息,具体包括:
获取客户端发送的多页面检测请求,其中,多页面检测请求是客户端响应于多页面模式的进入而生成的。
其中,多页面模式的进入可以是用户打开用一个域名下的至少两个网页页面而触发的,在浏览器上可以体现为,打开了至少两个关联的标签页或者两个关联的网页窗口。
具体地,客户端进入特定域名的网站,并且打开多个该域名下的页面,进入了多页面模式。此时,客户端发出一个多页面检测请求,这一多页面检测请求携带了该网站的网址信息。服务端获取该多页面检测请求,并且开始处理该请求。
在这一实施例中,获取客户端发送的多页面检测请求,能够迅速响应多页面模式的进入,加快页面检测处理进度。
在一实施例中,如图3所示,步骤S20中,即判断网址信息对应的目标浏览器是否支持本地存储功能,具体包括如下步骤:
S21:根据网址信息获取到对应的目标浏览器。
具体地,根据网址信息获取到对应的目标浏览器是指获取打开网址信息所对应的页面的浏览器。
S22:采用永久性本地存储对象的检测语句检测目标浏览器。
具体地,采用永久性本地存储对象的检测语句检测目标浏览器,以判断目标浏览器是否支持本地存储功能。示例性地,该检测语句为:window.localStorage。其中,该永久性本地存储对象的检测语句存在两个返回值,分别为0和1,若目标浏览器支持永久性本地存储对象的功能,则永久性本地存储对象的检测语句的返回值为1,若目标浏览器不支持永久性的本地存储功能,则永久性本地存储对象的检测语句的返回值为0。
其中,window对象表示浏览器的窗口。采用window对象是因为在此实施例中,所有的步骤方案执行是基于浏览器窗口下进行的。使用window对象可以检测浏览器窗口对象下的localStorage对象的返回值。
S23:获取永久性本地存储对象的检测语句的返回值,判断永久性本地存储对象的检测语句的返回值是否为0。
具体地,可以采用三目运算符来判断永久性本地存储对象的检测语句的返回值是否为0。具体的三目运算语句可以是:
(window.localStorage)?function A:function B;
在这个三目运算语句中,(window.localStorage)?表示判断window.llocalStorage语句的返回值是否为0;function A:function B表示:若window.localStorage语句的返回值是0,则执行function A;若window.localStorage语句的返回值不为0,则执行function B。
优选地,还可以用if语句来判断永久性本地存储对象的检测语句的返回值是否为0。具体语句可以是:
if(window.localStorage){function A}else{function B};
在这个if语句中,if(window.localStorage)表示判断window.localStorage语句的返回值是否为0。若window.localStorage语句的返回值不为0,则所执行的function A;若window.localStorage语句的返回值为0,则所执行的function B。可以理解地,functionA即实现后续步骤S30’和S40’对应的动作,function B即实现后续步骤S30和S40对应的动作,具体可参见下文相关段落,在此不再赘述。
在这个具体实施方法中,也可以对window.localStorage语句取反再采用三目运算语句或者if语句来判断永久性本地存储对象的检测语句的返回值是否为0。具体语句可以是:
(!window.localStorage)?function A:function B;
也可以是:
if(!window.localStorage){function A}else{function B};
若window.localStorage语句的返回值为0,则对window.localStorage语句取反后,三目运算语句或者if语句判断结果不为0;若window.localStorage语句的返回值不为0,则对window.localStorage语句取反后,三目运算语句或者if语句判断结果为0。
S24:若永久性本地存储对象的检测语句的返回值为0,则目标浏览器不支持本地存储功能。
若永久性本地存储对象的检测语句的返回值为0,则目标浏览器不支持本地存储功能;若永久性本地存储对象的检测语句的返回值不为0,则目标浏览器支持本地存储功能。
在一个具体实施方式中,如果采用的是对window.localStorage取反再采用三目运算语句或者if语句来判断永久性本地存储对象的检测语句的返回值是否为0,则对window.localStorage取反后,!window.localStorage语句的返回值是0,则说明目标浏览器支持本地存储功能,!window.localStorage语句的返回值不为0,则说明目标浏览器不支持本地存储功能。
在这一实施例中,根据网址信息获取到对应的目标浏览器,再采用永久性本地存储对象的检测语句来判断目标浏览器是否支持本地存储功能,最后判断永久性本地存储对象的检测语句的返回值是否为0,若永久性本地存储对象的检测语句的返回值为0,则目标浏览器不支持本地存储功能。采用永久性本地存储对象的检测语句来判断目标浏览器是否支持本地存储功能能够更准确和更迅速地获知目标浏览器对本地存储功能的支持情况,排除目标浏览器对应的版本支持本地存储功能,但是在一些特定场景下不支持本地存储功能的情况,更好地对目标浏览器的支持情况进行监测。
在一实施例中,如图4所示,步骤S20中,即判断网址信息对应的目标浏览器是否支持本地存储功能,具体还包括如下步骤:
S21’:获取浏览器支持数据,其中,浏览器支持数据是通过对预先采集的支持本地存储功能的浏览器数据进行预先存储得到的;
其中,浏览器支持数据是指各种不同类型和不同版本的浏览器对本地存储功能的支持情况所生成的数据。
示例性地,各类浏览器对本地存储的支持情况如下:
本地存储功能支持IE8.0及以上版本的浏览器,支持Firefox3.0及以上版本的浏览器,支持Opera10.5及以上版本的浏览器,支持Chrome4.0及以上版本的浏览器,支持Safari4.0及以上版本的浏览器,支持iPhone2.0及以上版本的操作系统自带的浏览器,支持Android2.0及以上版本的操作系统自带的浏览器。
具体地,在预先采集到支持本地存储功能的浏览器数据之后,可以将该支持本地存储功能的浏览器数据进行预先存储。
进一步地,在获取到多页面检测请求后,获取浏览器支持数据。
S22’:判断目标浏览器是否属于所述浏览器支持数据;
具体地,可以获取目标浏览器的类型和版本,再根据该目标浏览器的类型和版本在浏览器支持数据中进行查询来判断目标浏览器是否属于所述浏览器支持数据。
S23’:若目标浏览器不属于所述浏览器支持数据,则目标浏览器不支持本地存储功能。
具体地,若目标浏览器不属于所述浏览器支持数据,则目标浏览器不支持本地存储功能。
在这一实施例中,获取浏览器支持数据,判断目标浏览器是否属于所述浏览器支持数据,若目标浏览器不属于所述浏览器支持数据,则目标浏览器不支持本地存储功能。通过判断目标浏览器的类型和版本是否浏览器支持数据来判断网址信息对应的目标浏览器是否支持本地存储功能,减少了浏览器运算时间,能够快速地获知目标浏览器是否支持本地存储功能。
在一实施例中,如图5所示,步骤S40中,即采用定时器定时检测当前关联内存值和上一次关联内存值是否一致,具体包括如下步骤:
S41:检测定时器的定时时间是否到达预设检测时间。
预设检测时间时指所需要定时检测的时间。预设检测时间是根据目标浏览器的性能来设定的,如性能较好的浏览器能接受较高定时检测频率,性能一般的浏览器接受定时检测频率较低。因此,预设检测时间会采用一个可配置的值来为了平衡不同设备之间的性能差异。比如,性能好的浏览器响应速度较快,能接受每10毫秒一次的定时检测频率,而性能一般的浏览器响应速度脚面,能接受每30毫秒一次的定时检测,为了平衡这两种不同浏览器的性能差异,可采用每20毫秒一次的定时检测频率来进行定时检测。
具体地,在接收到目标浏览器不支持本地存储功能的信号后,开启定时器,检测定时器的定时时间是否到达预设检测时间。例如,预设检测时间为300ms,在获知目标浏览器不支持本地存储功能后,开启定时器,此时定时器从0ms开始计时,直至计时到300ms,则定时器的定时时间到达预设检测时间。
S42:若定时器的定时时间到达预设检测时间,则获取关联页面中的当前关联内存值和上一次关联内存值。
其中,当前关联内存值是指定时器的定时时间达到预设检测时间时,在目标浏览器对应内存位置中关联内存值的当前实际的值。上一次关联内存值为上一次定时检测之后所保存的关联内存值。
其中,在关联页面中,当前关联内存值和上一次关联内存值采用键值对(key:value)的形式存储的,键(key)是指内存值的名称,值(value)是指内存值的值。当前关联内存值和上一次关联内存值可以是一个,也可以是多个,具体当前关联内存值和上一次关联内存值的数量是根据实际情况来定的。
具体地,若定时器的定时时间到达预设检测时间,则获取关联页面中的特定键的当前关联内存值和上一次关联内存值。该特定键的当前关联内存值和上一次关联内存值是指被关联页面使用的内存值。例如,若定时器的定时时间到达预设检测时间,则获取键为string的内存值string=”abc”。
S43:比较当前关联内存值和上一次关联内存值是否一致。
具体地,比较当前关联内存值和上一次关联内存值是否一致是指比较当前关联内存值和上一次关联内存值是否都相同,若关联页面中存在着至少两个的当前关联内存值,则比较所有的当前关联内存值和上一次关联内存值是否都相同。若所有的当前关联内存值和上一次关联内存值是否都相同,则当前关联内存值和上一次关联内存值一致。
在这一实施例中,检测定时器的定时时间是否到达预设检测时间,若定时器的定时时间到达预设检测时间,则获取目标浏览器的内存中的当前关联内存值和上一次关联内存值,比较当前关联内存值和上一次关联内存值是否一致。通过使用定时器来定时检测当前关联内存值和上一次关联内存值是否有变化,能够更加灵敏地获知内存值的变化情况,使得页面能更加迅速响应内存值的变化。
在一实施例中,如图6所示,步骤S20之后,即根据多页面检测请求判断浏览器是否支持本地存储功能之后,该页面更新方法还包括如下步骤:
S30”:若目标浏览器支持本地存储功能,则采用本地存储语句对关联页面中的内存值进行实时监听。
其中,关联页面是指在同一个网址信息的网站页面中,内存值有可能发生更新或者变化的页面,且该关联页面的内存值发生改变会影响多页面模式下其他页面的内存值改变或者其他页面状态的改变。关联内存值是指被关联页面调用的内存值,并且该内存值对多页面模式下的其他页面存在相互影响的关系。若判断该目标浏览器支持本地存储功能,则采用本地存储语句对关联页面中的内存值进行实时监听。
具体地,采用window对象的addEventListener监听方法对关联页面中的内存值进行监听并指定本地存储语句的处理函数(function)来处理监听到内存值变化后的后续操作。具体地,可以通过以下语句实现:
window.addEventListener('storage',function);
其中,addEventListener()是一种监听方法,storage为网址信息所对应的页面中的本地存储对象,其中本地存储对象又分为永久性本地存储对象和会话级别的本地存储对象,这两个对象存储着被监听的关联内存值,function是指定处理函数。其中,function可以是代码串,也可以是一个函数。本地存储中的任意一个内存值发生变化,则执行function来处理监听到内存值变化后的后续操作。
S40”:根据本地存储语句所监听到的内存值更新对应的关联页面。
其中,对应的关联页面是指多页面模式下被监听到的内存值所影响的页面,例如,多页面模式下存在页面A、B和C,若页面A的内存值x发生了改变,页面B和C也会相应的发生改变,此时,称页面B和C是页面A的关联页面,且页面B和C是页面A中的关联内存值x对应的关联页面。其中,这一对应的关联页面可以是一个,也可以是多个,具体对应的关联页面的数量可以按照实际需求来定。
具体地,在监听到关联内存值发生变化后,在关联页面中调用该关联内存值的地方刷新为变化后关联内存值。例如,检测到关联内存值由a=0变化为a=1,则关联页面中调用该关联内存值的地方刷新为a=1。
在这一实施例中,若目标浏览器支持本地存储功能,则采用本地存储语句进行内存监听,根据本地存储语句监听到的内存值更新对应的关联页面,能够根据不同的浏览器对本地存储功能支持情况进行适应性的调整,从而提高页面更新的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种页面更新装置,该页面更新装置与上述实施例中页面更新方法一一对应。如图7所示,该页面更新装置包括请求获取模块10、本地存储功能判断模块20、定时开启模块30、定时检测模块40、定时检测结果模块50和页面更新模块60。各功能模块详细说明如下:
请求获取模块10,用于获取多页面检测请求,所述多页面检测请求包括网址信息;
本地存储功能判断模块20,用于判断所述网址信息对应的目标浏览器是否支持本地存储功能;
定时开启模块30,用于若所述目标浏览器不支持本地存储功能,则开启定时器;
定时检测模块40,用于采用所述定时器定时检测所述当前关联内存值和所述上一次关联内存值是否一致;
定时检测结果模块50,用于若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化;
页面更新模块60,用于若所述关联内存值发生变化,则根据所述关联内存值更新对应的关联页面。
优选地,请求获取模块10用于获取客户端发送的多页面检测请求,其中,所述多页面检测请求是客户端响应于多页面模式的进入而生成的。
优选地,如图8所示,本地存储功能判断模块20包括浏览器获取单元21、目标浏览器检测单元22、永久性的本地存储检测单元23和返回值判断单元24。
浏览器获取单元21,用于根据网址信息获取到对应的目标浏览器;
目标浏览器检测单元22,用于采用永久性本地存储对象的检测语句检测目标浏览器;
永久性本地存储检测单元23,用于获取永久性本地存储对象的检测语句的返回值,判断所述永久性本地存储对象的检测语句的返回值是否为0;
返回值判断单元24,用于若永久性本地存储对象的检测语句的返回值为0,则目标浏览器不支持本地存储功能。
可选的,本地存储功能判断模块20还包括浏览器支持数据获取单元、浏览器支持数据判断单元和浏览器支持数据判断结果单元。
浏览器支持数据获取单元,用于获取浏览器支持数据,其中,浏览器支持数据是通过对预先采集的支持本地存储功能的浏览器数据进行预先存储得到的;
浏览器支持数据判断单元,用于判断目标浏览器是否属于浏览器支持数据;
浏览器支持数据判断结果单元,用于若目标浏览器不属于浏览器支持数据,则目标浏览器不支持本地存储功能。
优选地,定时检测模块40包括预设时间检测单元、内存值获取单元和内存值比较单元。
预设时间检测单元,用于检测定时器的计时时间是否到达预设检测时间;
内存值获取单元,用于若定时器的定时时间到达预设检测时间,则获取关联页面中的当前关联内存值和上一次关联内存值;
内存值比较单元,用于比较当前关联内存值和上一次关联内存值是否一致;
在一具体实施例中,在本地存储功能判断模块20之后,该页面更新装置还包括实时监听模块和关联页面更新模块。
实时监听模块,用于若目标浏览器支持本地存储功能,则采用本地存储语句对关联页面中的内存值进行实时监听;
关联页面更新模块,根据本地存储语句所监听到的内存值更新对应的关联页面。
关于页面更新装置的具体限定可以参见上文中对于页面更新方法的限定,在此不再赘述。上述页面更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述页面更新方法中使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种页面更新方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取多页面检测请求,多页面检测请求包括网址信息;
判断网址信息对应的目标浏览器是否支持本地存储功能;
若目标浏览器不支持本地存储功能,则开启定时器;
采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致;
若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化;
若关联内存值发生变化,则根据关联内存值更新对应的关联页面。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取多页面检测请求,多页面检测请求包括网址信息;
判断网址信息对应的目标浏览器是否支持本地存储功能;
若目标浏览器不支持本地存储功能,则开启定时器;
采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致;
若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化;
若关联内存值发生变化,则根据关联内存值更新对应的关联页面。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种页面更新方法,其特征在于,包括:
获取多页面检测请求,所述多页面检测请求包括网址信息;
判断所述网址信息对应的目标浏览器是否支持本地存储功能;
若所述目标浏览器不支持本地存储功能,则开启定时器;
采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致;
若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化;
若所述关联内存值发生变化,则根据所述关联内存值更新对应的关联页面。
2.如权利要求1所述的页面更新方法,其特征在于,所述获取多页面检测请求,所述多页面检测请求包括网址信息,具体包括:
获取客户端发送的多页面检测请求,其中,所述多页面检测请求是客户端响应于多页面模式的进入而生成的。
3.如权利要求1所述的页面更新方法,其特征在于,所述判断所述网址信息对应的目标浏览器是否支持本地存储功能,具体包括:
根据所述网址信息获取到对应的目标浏览器;
采用永久性本地存储对象的检测语句检测所述目标浏览器;
获取所述永久性本地存储对象的检测语句的返回值,判断所述永久性的本地存储的检测语句的返回值是否为0;
若所述永久性的本地存储的检测语句的返回值为0,则所述目标浏览器不支持本地存储功能。
4.如权利要求1所述的页面更新方法,其特征在于,所述判断所述网址信息对应的目标浏览器是否支持本地存储功能,具体还包括:
获取浏览器支持数据,其中,所述浏览器支持数据是通过对预先采集的支持本地存储功能的浏览器数据进行预先存储得到的;
判断所述目标浏览器是否属于所述浏览器支持数据;
若所述目标浏览器不属于所述浏览器支持数据,则所述目标浏览器不支持本地存储功能。
5.如权利要求1所述的页面更新方法,其特征在于,所述采用所述定时器定时检测当前关联内存值和上一次关联内存值是否一致,具体包括:
检测所述定时器的定时时间是否到达预设检测时间;
若所述定时器的定时时间到达预设检测时间,则获取所述关联页面中的当前关联内存值和上一次关联内存值;
比较所述当前关联内存值和所述上一次关联内存值是否一致。
6.如权利要求1所述的页面更新方法,其特征在于,所述根据多页面检测请求判断所述目标浏览器是否支持本地存储功能之后,所述页面更新方法还包括:
若所述目标浏览器支持本地存储功能,则采用本地存储语句对所述关联页面中的内存值进行实时监听;
根据本地存储语句所监听到的内存值更新对应的关联页面。
7.一种页面更新装置,其特征在于,包括:
请求获取模块,用于获取多页面检测请求,所述多页面检测请求包括网址信息;
本地存储功能判断模块,用于判断所述网址信息对应的目标浏览器是否支持本地存储功能;
定时开启模块,用于若所述目标浏览器不支持本地存储功能,则开启定时器;
定时检测模块,用于采用所述定时器定时检测所述当前关联内存值和所述上一次关联内存值是否一致;
定时检测结果模块,用于若存在任一当前关联内存值和上一次关联内存值不一致,则关联页面的关联内存值发生变化;
页面更新模块,用于若所述关联内存值发生变化,则根据所述关联内存值更新对应的关联页面。
8.如权利要求7所述的页面更新装置,其特征在于,本地存储功能判断模块包括:
浏览器获取单元,用于根据所述网址信息获取到对应的目标浏览器;
目标浏览器检测单元,用于采用永久性本地存储对象的检测语句检测所述目标浏览器;
永久性的本地存储检测单元,用于获取所述永久性本地存储对象的检测语句的返回值,判断所述永久性本地存储对象的检测语句的返回值是否为0;
返回值判断单元,用于若所述永久性本地存储对象的检测语句的返回值为0,则所述目标浏览器不支持本地存储功能。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述页面更新方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述页面更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527537.8A CN109857420A (zh) | 2018-12-13 | 2018-12-13 | 页面更新方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527537.8A CN109857420A (zh) | 2018-12-13 | 2018-12-13 | 页面更新方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857420A true CN109857420A (zh) | 2019-06-07 |
Family
ID=66891186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811527537.8A Pending CN109857420A (zh) | 2018-12-13 | 2018-12-13 | 页面更新方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857420A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339460A (zh) * | 2020-02-10 | 2020-06-26 | 广州虎牙科技有限公司 | 数据更新方法、装置、计算机设备及存储介质 |
CN111914200A (zh) * | 2020-07-17 | 2020-11-10 | 烽火通信科技股份有限公司 | 浏览器标签页状态同步方法、装置、设备及存储介质 |
CN113360809A (zh) * | 2021-06-30 | 2021-09-07 | 平安普惠企业管理有限公司 | 页面数据更新方法、装置、计算机设备及存储介质 |
CN113791944A (zh) * | 2021-01-18 | 2021-12-14 | 北京京东拓先科技有限公司 | 页面定时器的监控方法、装置、介质及电子设备 |
CN113987318A (zh) * | 2021-11-01 | 2022-01-28 | 盐城金堤科技有限公司 | 页面监控方法、装置、设备及计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280014A (zh) * | 2018-02-06 | 2018-07-13 | 武汉斗鱼网络科技有限公司 | 一种监听浏览器页面的方法、装置及计算机设备 |
-
2018
- 2018-12-13 CN CN201811527537.8A patent/CN109857420A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280014A (zh) * | 2018-02-06 | 2018-07-13 | 武汉斗鱼网络科技有限公司 | 一种监听浏览器页面的方法、装置及计算机设备 |
Non-Patent Citations (2)
Title |
---|
WAYNE529: ""HTML5本地存储Localstorage的应用"", pages 1 - 5, Retrieved from the Internet <URL:https://www.cnblogs.com/lw5116/p/5803838.html> * |
南方小小姑娘: ""浏览器多个标签页之间的通信"", pages 1 - 6, Retrieved from the Internet <URL:https://www.jianshu.com/p/5f0e6d8fd36a> * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339460A (zh) * | 2020-02-10 | 2020-06-26 | 广州虎牙科技有限公司 | 数据更新方法、装置、计算机设备及存储介质 |
CN111339460B (zh) * | 2020-02-10 | 2024-03-01 | 广州虎牙科技有限公司 | 数据更新方法、装置、计算机设备及存储介质 |
CN111914200A (zh) * | 2020-07-17 | 2020-11-10 | 烽火通信科技股份有限公司 | 浏览器标签页状态同步方法、装置、设备及存储介质 |
CN113791944A (zh) * | 2021-01-18 | 2021-12-14 | 北京京东拓先科技有限公司 | 页面定时器的监控方法、装置、介质及电子设备 |
CN113360809A (zh) * | 2021-06-30 | 2021-09-07 | 平安普惠企业管理有限公司 | 页面数据更新方法、装置、计算机设备及存储介质 |
CN113987318A (zh) * | 2021-11-01 | 2022-01-28 | 盐城金堤科技有限公司 | 页面监控方法、装置、设备及计算机存储介质 |
CN113987318B (zh) * | 2021-11-01 | 2024-03-12 | 盐城天眼察微科技有限公司 | 页面监控方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857420A (zh) | 页面更新方法、装置、计算机设备及存储介质 | |
CN108304498B (zh) | 网页数据采集方法、装置、计算机设备和存储介质 | |
CN104520814B (zh) | 用于配置云计算系统的系统和方法 | |
CN102385594B (zh) | 多核浏览器的内核控制方法和装置 | |
CN108768728A (zh) | 运维任务处理方法、装置、计算机设备和存储介质 | |
CN103927260B (zh) | 一种电信设备测试方法及系统 | |
CN106503134A (zh) | 浏览器跳转至应用程序的数据同步方法及装置 | |
CN109918601A (zh) | 在线文档的编辑方法、装置、计算机设备和存储介质 | |
CN106339163B (zh) | 一种App内置浏览器与内嵌网页回退交互的方法 | |
CN110069264A (zh) | 构建资源包的方法、装置、计算机设备和存储介质 | |
CN102831218A (zh) | 热力图中的数据确定方法及装置 | |
CN110781214A (zh) | 数据库读写方法、装置、计算机设备和存储介质 | |
CN105446750A (zh) | WebApp启动运行、生成镜像文件的方法和装置 | |
CN108897587B (zh) | 可插拔式机器学习算法运行方法、装置及可读存储介质 | |
CN109871503A (zh) | 数据调用方法、装置、计算机设备及存储介质 | |
CN110147327B (zh) | 一种基于多粒度的web自动化测试管理方法 | |
CN114329297A (zh) | 内容管理系统、静态页面的管理方法、装置及存储介质 | |
CN109190067A (zh) | 浏览器输入框展示方法、装置、计算机设备及存储介质 | |
CN109960633A (zh) | 一种数据可视化埋点方法、存储介质及智能终端 | |
CN109801095A (zh) | 基于云监控追踪h5到app轨迹的方法、装置和计算机设备 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN109492176A (zh) | 一种页面信息更新方法及装置 | |
CN115454420A (zh) | 人工智能算法模型部署系统、方法、设备及存储介质 | |
WO2023123089A1 (zh) | 内容管理系统、静态页面的管理方法、装置及存储介质 | |
CN109766488B (zh) | 一种基于Scrapy的数据采集方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190607 |