掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Web端Hash路由改变的页面刷新方法及终端

文献发布时间:2023-06-19 19:28:50


一种基于Web端Hash路由改变的页面刷新方法及终端

技术领域

本发明涉及网页加载技术领域,具体涉及一种基于Web端Hash路由改变的页面刷新方法及终端。

背景技术

外部组件(如C++的CEF窗口,或者android的Webview)访问Web的Hash路由地址(如:http://www.test.com/#/page?param=1)时,在第一次访问进入该路由地址页面之后,当外部组件需要修改路由地址参数进行重新访问时,如用户进行重试时要在url中增加参数retry=1,此时使用修改后的地址(http://www.test.com/#/page?param=1&retry=1)通过调用js的location.reload()或location.replace()等页面刷新函数的方法进行第二次访问,会出现页面并不刷新的现象,这是由于Hash路由地址的特点而决定的,即Hash路由地址#之后的内容(称为哈希值)改变不刷新页面。

为了解决上述改变Hash路由地址的哈希值而页面不刷新的问题,常规采用的方案如方案1:让Web端修改为非Hash的路由方式或通知Web端进行页面刷新,但使用该方案的缺点就是要依赖Web端的修改;再有如方案2:关闭本次的访问窗口(或实例),再重新打开进行新路由地址的访问,而使用此种方案会使用户的体验变差。

发明内容

本发明所要解决的技术问题是:提供一种基于Web端Hash路由改变的页面刷新方法及终端,以解决Hash路由地址中改变Hash值却无法刷新页面的问题,提高页面刷新的效率。

为了解决上述技术问题,本发明采用的技术方案为:

一种基于Web端Hash路由改变的页面刷新方法,包括步骤:

S1、解析Web端的url地址,得到第一Hash路由地址;

S2、在所述第一Hash路由地址的#号前添加语义化字符串,并在所述第一Hash路由地址的#号后修改或新增哈希参数,形成第二Hash路由地址;

S3、调用页面刷新函数重新加载所述第二Hash路由地址所对应的页面。

为了解决上述技术问题,本发明提供的另一个技术方案为:

一种基于Web端Hash路由改变的页面刷新终端,包括存储器、处理器以及存储在存储器上并可在处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

S1、解析Web端的url地址,得到第一Hash路由地址;

S2、在所述第一Hash路由地址的#号前添加语义化字符串,并在所述第一Hash路由地址的#号后修改或新增哈希参数,形成第二Hash路由地址;

S3、调用页面刷新函数重新加载所述第二Hash路由地址所对应的页面。

本发明的有益效果在于:本发明提供一种基于Web端Hash路由改变的页面刷新方法及终端,通过在Hash路由地址修改或增加哈希参数的同时,在Hash路由地址的#号之间增加语义化字符串,再调用页面刷新函数重新加载修改后的Hash路由地址的页面,以实现页面的刷新,解决了Hash路由地址中改变哈希值却无法刷新页面的问题,提高页面刷新的效率。

附图说明

图1为本发明实施例的一种基于Web端Hash路由改变的页面刷新方法的流程图;

图2为本发明实施例的一种基于Web端Hash路由改变的页面刷新终端的结构示意图。

标号说明:

1、一种基于Web端Hash路由改变的页面刷新终端;2、存储器;3、处理器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

请参照图1,一种基于Web端Hash路由改变的页面刷新方法,包括步骤:

S1、解析Web端的url地址,得到第一Hash路由地址;

S2、在所述第一Hash路由地址的#号前添加语义化字符串,并在所述第一Hash路由地址的#号后修改或新增哈希参数,形成第二Hash路由地址;

S3、调用页面刷新函数重新加载所述第二Hash路由地址所对应的页面。

由上述描述可知,本发明的有益效果在于:通过在Hash路由地址修改或增加哈希参数的同时,在Hash路由地址的#号之间增加语义化字符串,再调用页面刷新函数重新加载修改后的Hash路由地址的页面,以实现页面的刷新,解决了Hash路由地址中改变哈希值却无法刷新页面的问题,提高页面刷新的效率。

进一步地,所述语义化字符串由随机数字和/或时间戳组合而成。

由上述描述可知,可通过随机数字和/或时间戳组成任意多种多样的语义化字符串实现多次刷新页面。

进一步地,所述S2中在所述第一Hash路由地址的#号后修改或新增哈希参数,具体为:

采用ChangeUrl函数修改或新增所述第一Hash路由地址的#号之后的所述哈希参数,所述ChangeUrl函数为基于JavaScript的url地址转换函数。

由上述描述可知,用户可通过ChangeUrl函数将需要跳转的新页面所需的哈希参数与原先第一Hash路由地址的#号之后的哈希参数进行替换,实现url地址参数的修改。

进一步地,所述页面刷新函数为location.reload()函数或location.replace()函数。

由上述描述可知,location.reload()函数和location.replace()函数为浏览器刷新页面的常用函数,其中reload方法可强迫浏览器刷新当前页面,而replace方法通过指定url替换当前缓存在历史里(客户端)的项目,不能通过“前进”和“后退”来访问已经被替换的url。具体可根据实际需要选择对应的函数来实现修改哈希参数后的Hash路由地址的刷新。

进一步地,所述S1之前还包括步骤:

S0、首次访问Web端的url地址并加载所述url地址对应的页面。

由上述描述可知,当首次访问Hash路由地址时可直接进入对应的页面,无需进行页面刷新。

请参照图2,一种基于Web端Hash路由改变的页面刷新终端,包括存储器、处理器以及存储在存储器上并可在处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

S1、解析Web端的url地址,得到第一Hash路由地址;

S2、在所述第一Hash路由地址的#号前添加语义化字符串,并在所述第一Hash路由地址的#号后修改或新增哈希参数,形成第二Hash路由地址;

S3、调用页面刷新函数重新加载所述第二Hash路由地址所对应的页面。

由上述描述可知,本发明的有益效果在于:基于同一技术构思,配合上述的一种基于Web端Hash路由改变的页面刷新方法,提供一种基于Web端Hash路由改变的页面刷新终端,通过在Hash路由地址修改或增加哈希参数的同时,在Hash路由地址的#号之间增加语义化字符串,再调用页面刷新函数重新加载修改后的Hash路由地址的页面,以实现页面的刷新,解决了Hash路由地址中改变哈希值却无法刷新页面的问题,提高页面刷新的效率。

进一步地,所述语义化字符串由随机数字和/或时间戳组合而成。

由上述描述可知,可通过随机数字和/或时间戳组成任意多种多样的语义化字符串实现多次刷新页面。

进一步地,所述S2中在所述第一Hash路由地址的#号后修改或新增哈希参数,具体为:

采用ChangeUrl函数修改或新增所述第一Hash路由地址的#号之后的所述哈希参数,所述ChangeUrl函数为基于JavaScript的url地址转换函数。

由上述描述可知,用户可通过ChangeUrl函数将需要跳转的新页面所需的哈希参数与原先第一Hash路由地址的#号之后的哈希参数进行替换,实现url地址参数的修改。

进一步地,所述页面刷新函数为location.reload()函数或location.replace()函数。

由上述描述可知,location.reload()函数和location.replace()函数为浏览器刷新页面的常用函数,其中reload方法可强迫浏览器刷新当前页面,而replace方法通过指定url替换当前缓存在历史里(客户端)的项目,不能通过“前进”和“后退”来访问已经被替换的url。具体可根据实际需要选择对应的函数来实现修改哈希参数后的Hash路由地址的刷新。

进一步地,所述S1之前还包括步骤:

S0、首次访问Web端的url地址并加载所述url地址对应的页面。

由上述描述可知,当首次访问Hash路由地址时可直接进入对应的页面,无需进行页面刷新。

请参照图1,本发明的实施例一为:

一种基于Web端Hash路由改变的页面刷新方法,如图1所示,包括步骤:

S1、解析Web端的url地址,得到第一Hash路由地址。

S2、在第一Hash路由地址的#号前添加语义化字符串,并在第一Hash路由地址的#号后修改或新增哈希参数,形成第二Hash路由地址;

其中,语义化字符串由随机数字和/或时间戳组合而成,即可通过随机数字和/或时间戳组成任意多种多样的语义化字符串实现多次刷新页面。

S3、调用页面刷新函数重新加载第二Hash路由地址所对应的页面。

即在本实施例中,通过在Hash路由地址修改或增加哈希参数的同时,在Hash路由地址的#号之间增加语义化字符串,再调用页面刷新函数重新加载修改后的Hash路由地址的页面,以实现页面的刷新,解决了Hash路由地址中改变哈希值却无法刷新页面的问题,提高页面刷新的效率。

本发明的实施例二为:

一种基于Web端Hash路由改变的页面刷新方法,在上述实施例的基础上,在本实施例中,步骤S1之前还包括步骤:

S0、首次访问Web端的url地址并加载url地址对应的页面。

即用户首次访问Hash路由地址时可直接进入对应的页面,无需进行页面刷新。

其中,步骤S2中在第一Hash路由地址的#号后修改或新增哈希参数,具体为:采用ChangeUrl函数修改或新增第一Hash路由地址的#号之后的哈希参数,ChangeUrl函数为基于JavaScript的url地址转换函数。

即在本实施例中,用户可通过ChangeUrl函数将需要跳转的新页面所需的哈希参数与原先第一Hash路由地址的#号之后的哈希参数进行替换,实现url地址参数的修改。同时,在其他等同实施例中,也可以通过其他的url地址参数修改函数实现Hash路由地址的更改,具体可根据实际运行环境选择,例如在C++的CFE窗口中可通过调用ChangeUrl(url)、在android的Webview中可通过调用webView.loadUrl(url)来实现对url地址的修改。

另外,在本实施例中,步骤S3中的页面刷新函数为location.reload()函数或location.replace()函数,其中location.reload()函数和location.replace()函数均为浏览器刷新页面的常用函数,其中reload方法可强迫浏览器刷新当前页面,而replace方法通过指定url替换当前缓存在历史里(客户端)的项目,不能通过“前进”和“后退”来访问已经被替换的url。在实际应用过程中,可根据实际需要选择对应的函数来实现修改哈希参数后的Hash路由地址的刷新,在其他等同实施例中,该函数也可以为除location.reload()和location.replace()之外的其他的页面刷新函数。

请参照图2,本发明的实施例三为:

一种基于Web端Hash路由改变的页面刷新终端1,包括存储器2、处理器3以及存储在存储器2上并可在处理器3上运行的计算机程序,处理器3在执行计算机程序时实现如上述实施例一或实施例二中的一种基于Web端Hash路由改变的页面刷新方法中的步骤。

综上所述,本发明提供的一种基于Web端Hash路由改变的页面刷新方法及终端,当用户首次访问Hash路由地址时可直接进入对应的页面,无需进行页面刷新,而需要对Hash路由地址进行修改并重新访问时,可通过Changeurl函数将需要跳转的新页面所需的哈希参数与原Hash路由地址的#号之后的哈希参数进行替换,实现url地址参数的修改,并在修改的同时,在Hash路由地址的#号之间增加语义化字符串,再调用页面刷新函数重新加载修改后的Hash路由地址的页面,以实现页面的刷新,解决了Hash路由地址中改变哈希值却无法刷新页面的问题,提高页面刷新的效率。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种基于Web端JavaScript API的公交站点和线路信息获取的方法
  • 一种基于智能终端的显示方法及一种智能终端
  • 一种应用于工程机械WEB端的单一页面刷新方法
  • 一种基于hash表的高速可扩展IP路由查找硬件装置
技术分类

06120115927091