CN112685118A - 一种页面返回方法、装置、存储介质及计算机设备 - Google Patents

一种页面返回方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN112685118A
CN112685118A CN202011603306.8A CN202011603306A CN112685118A CN 112685118 A CN112685118 A CN 112685118A CN 202011603306 A CN202011603306 A CN 202011603306A CN 112685118 A CN112685118 A CN 112685118A
Authority
CN
China
Prior art keywords
page
address
source code
return
returning
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
Application number
CN202011603306.8A
Other languages
English (en)
Inventor
魏佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011603306.8A priority Critical patent/CN112685118A/zh
Publication of CN112685118A publication Critical patent/CN112685118A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种页面返回方法、装置、存储介质及计算机设备,涉及页面文件编辑技术领域,主要目的在于能够解决页面返回时出现页面陷入死循环的现象,导致页面返回效率低的技术问题。所述方法包括:接收跳转至第一页面的指令时,获取第一页面源码;在第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载第一页面;读取第一页面源码中的返回方法,并对返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在第一页面源码中获取第二页面的地址,以返回第二页面。本申请还涉及区块链技术,能够通过利用区块链网络的指定节点保存第二页面的地址,从而提高信息存储的安全性,降低信息泄露的风险。

Description

一种页面返回方法、装置、存储介质及计算机设备
技术领域
本发明涉及页面文件编辑技术技术领域,特别是涉及一种页面返回方法、装置、存储介质及计算机设备。
背景技术
Web App中,页面的返回操作因业务页面复杂的跳转逻辑而变得复杂。通常情况下,Web App自带返回按钮,如果其中一个网页A通过重定向模拟返回到它之前的网页B,用户在新的网页B点击返回按钮,将返回到网页A,此时再点击网页A的返回按钮,那么将进入到刚才的网页B,如此逻辑将使页面陷入返回的死循环中。
目前,为避免这种体验上的缺陷,一般的做法是尽量不要在返回逻辑中重定向到某个之前的页面,或是网页视图重新建立一个新的页面。然而,对于想要从A页面经过B页面的处理,展示从A页面到B页面状态变化的动画过程时,就会出现页面陷入死循环的现象,导致页面返回效率低。
发明内容
有鉴于此,本发明提供一种页面返回方法、装置、存储介质及计算机设备,主要目的在于能够解决页面返回时出现页面陷入死循环的现象,导致页面返回效率低的技术问题。
依据本发明一个方面,提供了一种页面返回方法,包括:
接收跳转至第一页面的指令时,获取第一页面源码;
在所述第一页面源码中配置第二页面的地址;
根据配置后的第一页面源码加载所述第一页面;
读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;
接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
进一步地,所述读取所述第一页面源码中的返回方法,并对所述返回方法进行重写,包括:
在所述第一页面源码中读取历史返回方法;
将所述历史返回方法重写为调用JS的原生返回方法。
进一步地,所述在所述第一页面源码中配置第二页面的地址,包括:
获取所述第二页面的地址;
在所述第一页面中检索地址包;
将所述第二页面的地址添加到所述地址包中。
进一步地,所述根据配置后的第一页面源码加载所述第一页面,包括:
在开发框架中引入所述第一页面的控制器;
将所述第一页面源码保存至指定文件路径下;
在所述第一页面的控制器中配置页面加载方法,其中,所述页面加载方法中包括页面渲染语句;
执行所述页面渲染语句,调取指定文件路径下的第一页面源码,以加载所述第一页面。
进一步地,所述调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面之前,所述方法还包括:
检查所述第一页面源码中是否配置有所述第二页面的地址;
若配置有所述第二页面的地址,则根据所述第二页面的地址返回所述第二页面。
进一步地,所述检查所述第一页面的源码中是否配置有所述第二页面的地址之后,所述方法还包括:
若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址,其中,所述第三页面为所述第一页面的初始返回页面;
加载所述第三页面的地址。
进一步地,所述若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址之前,所述方法还包括:
创建历史记录栈,其中,所述历史记录栈中存储有第一页面、第二页面及第三页面的地址;
标记所述第三页面的地址在所述历史记录栈中的存储位置。
依据本发明二个方面,提供了一种页面返回装置,包括:
接收单元,用于接收跳转至第一页面的指令时,获取所述第一页面的源码;
配置单元,用于在所述第一页面的源码中配置第二页面的地址,其中,所述第二页面为;
加载单元,用于根据所述第一页面的源码加载所述第一页面;
重写单元,用于读取所述第一页面中的返回方法,并对所述返回方法进行重写;
返回单元,用于接收到返回第二页面的指令时,调用重写后的返回方法获取所述第二页面的地址,以返回所述第二页面。
进一步地,所述重写单元,包括:
读取模块,用于在所述第一页面源码中读取历史返回方法;
重写模块,用于将所述历史返回方法重写为调用JS的原生返回方法。
进一步地,所述配置单元,包括:
获取模块,用于获取所述第二页面的地址;
检索模块,用于在所述第一页面中检索地址包;
添加模块,用于将所述第二页面的地址添加到所述地址包中。
进一步地,所述加载单元,包括:
引用模块,用于在开发框架中引入所述第一页面的控制器;
保存模块,用于将所述第一页面源码保存至指定文件路径下;
配置模块,用于在所述第一页面的控制器中配置页面加载方法,其中,所述页面加载方法中包括页面渲染语句;
执行模块,用于执行所述页面渲染语句,调取指定文件路径下的第一页面源码,以加载所述第一页面。
进一步地,所述装置还包括:
检查单元,用于检查所述第一页面源码中是否配置有所述第二页面的地址;
第一返回单元,用于若配置有所述第二页面的地址,则根据所述第二页面的地址返回所述第二页面。
进一步地,所述装置还包括:
第二返回单元,用于若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址,其中,所述第三页面为所述第一页面的初始返回页面;
所述加载单元具体还用于加载所述第三页面的地址。
进一步地,所述装置还包括:
创建单元,用于创建历史记录栈,其中,所述历史记录栈中存储有第一页面、第二页面及第三页面的地址;
标记单元,用于标记所述第三页面的地址在所述历史记录栈中的存储位置。
依据本发明第三方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行以下步骤:接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
依据本发明第四方面,提供了一种计算机设备,包括处理器、存储器、通信接口和通信总线所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信,所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下步骤:接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
本发明提供一种页面返回方法、装置、存储介质及计算机设备,与现有技术中尽量不要在返回逻辑中重定向到某个之前的页面,或是网页视图重新建立一个新的页面相比,本发明通过接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。从而能够在预先在当前页面的源码中配置其返回页面的地址,并通过对当前页面返回方法的重写,使得在接收到返回指令时,能够触发重写后的返回方法,根据返回页面的地址进行返回操作。进而可以返回指定的页面,避免在页面返回时出现死循环的现象,提高页面返回的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种页面返回方法流程图;
图2示出了本发明实施例提供的另一种页面返回方法流程图;
图3示出了本发明实施例提供的一种页面返回装置的结构示意图;
图4示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如背景技术所述,目前,为避免这种体验上的缺陷,一般的做法是尽量不要在返回逻辑中重定向到某个之前的页面,或是网页视图重新建立一个新的页面。然而,对于想要从A页面经过B页面的处理,展示从A页面到B页面状态变化的动画过程时,就会出现页面陷入死循环的现象,导致页面返回效率低。
为了解决上述问题,本发明实施例提供了一种页面返回方法,如图1所示,所述方法包括:
101、接收跳转至第一页面的指令时,获取第一页面源码。
其中,所述第一页面以及后文提及的第二页面及第三页面具体可以为HTML5格式的页面。所述第一页面可以为返回操作之前,网页视图加载和展示的页面。对于本发明实施例,所述跳转至第一页面的指令可以为用户通过智能手机或者平板电脑发出的,具体可以为用户在初始页面点击第一页面的网页链接或按钮发出的。在发出所述跳转至第一页面的指令时,可以与所述第一页面的服务器建立TCP连接,接收所述第一页面服务器发送的数据包,通过解析所述数据包,可以得到包含有第一页面源码的配置文件。
102、在所述第一页面源码中配置第二页面的地址。
其中,本发明实施例可以由计算机设备通过Native技术执行,所述Native技术是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。所述第二页面可以为返回操作之后,网页视图加载和展示的页面。所述第二页面的地址具体可以为第二页面的统一资源定位符(Uniform Resource Locator,url)。在获取所述第一页面源码之后,可以通过Native技术自动将获取的第二页面的地址配置到所述第一页面源码中,在实际应用场景中,可以将所述第二页面的地址配置到所述第一页面源码中的地址包里,以便于需要调用所述第二页面的地址时,可以直接通过读取函数(load())从所述地址包中进行查找和调用,以实现从第一页面返回第二页面的操作,提高页面返回的效率。
103、根据配置后的第一页面源码加载所述第一页面。
具体地,在获取的所述第一页面源码中配置第二页面的地址之后,网页视图可以利用所述第一页面源码加载所述第一页面。通过网页视图对第一页面进行加载,从而对配置有第二页面地址的第一页面进行展示,以便于用户能够查看第一页面,并在第一页面发出返回第二页面的指令,进而能够实现页面的返回。
104、读取所述第一页面源码中的返回方法,并对所述返回方法进行重写。
其中,所述第一页面源码中的返回方法具体可以为历史返回方法(history.back())。在Java和其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。本发明实施例中,通过对所述返回方法重写为调用JS原生的返回方法,以便于后续调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,实现返回所述第二页面。
105、接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
其中,所述返回第二页面的指令具体可以为用户发出的,在实际应用场景中,具体可以为用户通过手机、电子手表、平板电脑等智能设备发出的,在展示所述第一页面时,用户可以点击所述第一页面工具栏中设置的返回按钮,从而发出返回第二页面的指令。而在接收到所述返回第二页面的指令时,会触发预先配置在所述第一页面源码中的第二页面的地址,网页视图可以获取所述第二页面的地址,加载并进行展示,以实现从所述第一页面返回到所述第二页面的操作,提高页面的返回效率。
本发明提供一种页面返回方法,能够接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。从而能够在预先在当前页面的源码中配置其返回页面的地址,并通过对当前页面返回方法的重写,使得在接收到返回指令时,能够触发重写后的返回方法,根据返回页面的地址进行返回操作。进而可以返回指定的页面,避免在页面返回时出现死循环的现象,提高页面返回的效率。
本发明实施例提供了另一种页面返回方法,如图2所示,该方法包括:
201、接收跳转至第一页面的指令时,获取第一页面源码。
本步骤与图1所示的步骤101方法相同,在此不再赘述。
202、在所述第一页面源码中配置第二页面的地址。
本步骤与图1所示的步骤102方法相同,在此不再赘述。
对于本发明实施例,所述步骤202具体可以包括:获取所述第二页面的地址;在所述第一页面源码中检索地址包;将所述第二页面的地址添加到所述地址包中。
其中,所述第二页面的地址可以为用户指定的也可以为为了防止出现死循环现象而预设的,例如,可以在加载所述第一页面之前,向用户发送消息,并由用户输入需要返回的页面地址作为所述第二页面的地址;也可以预设一个第二页面地址,如www.hao123.com,并将所述预设的第二页面地址保存在指定的存储空间中,当用户未输入需要返回的页面地址时,可以在所述指定的存储空间中提取并添加所述预设的第二页面的地址。通过Native技术自带的编译器对所述第一页面源码进行遍历,可以在所述第一页面源码中检索对应的地址包,将获取的所述第二页面的地址添加到所述地址包中。以便于后续能够快速提取和调用所述第二页面的地址,从而实现从第一页面返回第二页面的操作。
具体地,所述预设的第二页面可以存储在预先建立的区块链网络中,其中,区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。而区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。本发明实施例通过将所述第二页面存储在预先建立的区块链网络中,从而能够提高页面地址的安全性,避免信息泄露的风险。
203、根据配置后的第一页面源码加载所述第一页面。
本步骤与图1所示的步骤103方法相同,在此不再赘述。
对于本发明实施例,所述步骤203具体可以包括:在开发框架中引入所述第一页面的控制器;将所述第一页面源码保存至指定文件路径下;在所述第一页面的控制器中配置页面加载方法,其中,所述页面加载方法中包括页面渲染语句;执行所述页面渲染语句,调取指定文件路径下的第一页面源码,以加载所述第一页面。
其中,具体过程可以包括:1)在Thinkphp框架下引入第一页面的控制器类,即引用Thinkphp引擎文件夹里think目录下的Controller.class.php文件;2)在Controller.class.php文件中配置页面加载方法,并继承控制器类;3)在所述页面加载方法中执行渲染页面语句;在控制器类的同一级目录下,创建view文件夹,在view文件夹中创建以控制器类命名的文件夹,再在所述控制器类命名的文件夹中创建xxx.html文件,xxx与控制器类中定义的加载方法名字一致,比如index,即对应的页面为index.html;4)若所述html文件引用有静态文件,比如css、js、图片等静态文件,可以把所述静态文件引入Thinkphp框架的../public/src路径中,并将路径中的src文件夹改为STATIC文件夹,即静态文件夹。例如:一个名字为demo.css的静态文件在所述Thinkphp框架中的路径可以为:../public/static/css/demo.css。调用所述控制器类,执行所述页面加载方法,即可加载所述第一页面。
204、读取所述第一页面源码中的返回方法,并对所述返回方法进行重写。
本步骤与图1所示的步骤104方法相同,在此不再赘述。
对于本发明实施例,所述步骤204具体可以包括:在所述第一页面源码中读取历史返回方法;将所述历史返回方法重写为调用JS的原生返回方法。
其中,所述第一页面源码中的返回方法具体可以为第一页面源码中的历史返回方法。在网页视图加载第一页面后,可以利用Native技术中的load函数读取第一页面源码中的返回方法,所述第一页面源码中的返回方法具体可以为历史返回方法(history.back()),所述历史返回方法具体可以用于加载历史记录栈中当前指针的所在位置的前一个页面的地址。通过读取所述第一页面中的返回方法,以便于后续对所述第一页面中的返回方法进行相应的重写处理,实现页面的返回。
对所述返回方法进行重写的过程可以包括:可以利用Native技术读取所述第一页面源码中的事件回调类,所述事件回调类中包括有所述返回方法,具体可以为历史返回方法(history.back()),利用JS的原生返回方法(back())对所述历史返回方法进行替换,以将所述历史返回方法重写为调用JS的原生返回方法。所述JS的原生返回方法具体可以用于处理第一页面需要在历史返回方法中处理的业务逻辑,在触发所述历史返回方法时检查所述第一页面的返回逻辑。所述返回逻辑具体可以为一旦所述第一页面中调用历史返回方法,可以利用Native技术自动检查所述第一页面源码中是否预先配置有所述第二页面的地址。通过将所述第一页面中的历史返回方法重写为调用JS的原生返回方法,以便于在第一页面触发所述历史返回方法时,能够调用JS的原生返回方法进行第一页面的返回处理,提高页面返回的效率。
205、接收到返回第二页面的指令时,检查所述第一页面源码中是否配置有所述第二页面的地址。
具体地,接收到用户发出的返回第二页面的指令时,会触发重写后的返回方法,此时,可以利用Native技术在本地获取所述第一页面的配置文件,读取所述配置文件中的源码,查找所述源码的地址包中是否存在所述第二页面的地址。通过在接收到返回第二页面的指令时,调用重写后的返回方法检测第一页面是否预先配置了所述第二页面的地址,从而能够根据所述预先配置的第二页面的地址进行页面返回操作,以避免页面返回出现死循环的现象。
206a、若配置有所述第二页面的地址,则根据所述第二页面的地址返回所述第二页面。
具体地,若配置有所述第二页面的地址,则调用JS原生的返回方法返回至所述第二页面,从而可以实现根据所述第二页面的地址返回到所述第二页面,同时,可以在所述历史记录栈中查找所述第二页面地址的存储空间,利用所述第二页面地址的存储空间给指针对象进行赋值,使得指针指向所述第二页面地址的存储空间。从而能够返回至第二页面,避免页面返回出现死循环的现象,提高页面返回的效率。
与所述步骤206相对地,所述方法还可以包括步骤206b:若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址;加载所述第三页面的地址。
其中,所述第三页面可以为所述第二页面的初始返回页面,即未在第一页面源码中配置第二页面的地址时,所述第一页面返回到的页面。具体地,若未配置有所述第二页面的地址,则需要直接从第一页面返回至第三页面,可以从历史记录栈中获取所述第三页面的地址,由于当前历史记录栈中指针对象指向的是第一页面的地址,且所述第一页面的地址位于历史记录栈的栈顶,因此,只需将指针下降一个存储空间,即可获取所述第三页面的地址。加载所述第三页面的地址,以返回所述第三页面,所述加载过程与步骤S203相同,此处不再赘述。通过若第一页面的源码中未配置有第二页面的地址,则从历史记录栈中获取第三页面的地址并加载,从而能够保证页面返回操作的正常执行。
对于本发明实施例,在所述步骤206b之前,所述方法还包括:创建历史记录栈,其中,所述历史记录栈中存储有第一页面、第二页面及第三页面的地址;标记所述第三页面的地址在所述历史记录栈中的存储位置。
其中,所述历史记录栈用于保存历史加载页面的地址,所述历史加载页面具体包括所述第一页面、第二页面和第三页面。在Native技术中,可以利用网页视图(webview)加载用户要打开的页面,而通过Native技术可以存储所述网页视图中加载的每一个页面地址,并且创建一个历史记录栈,所述历史记录栈包括至少一个存储空间,将加载的页面地址保存在所述存储空间中,当加载另一个页面时,在所述历史记录栈栈顶增加新的存储空间用于存储新加载的页面地址,以实现将所有的加载页面地址都保存在历史记录栈中。从而能够通过Native技术创建一个历史记录栈,从而对所有网页视图加载的页面地址进行存储,以便于在需要对当前网页进行返回时,可以快速的在历史记录栈中提取待返回页面的地址,以实现页面的返回操作,提高页面返回的效率。
所述第三页面可以为网页视图当前加载的页面,所述标记第三页面在历史记录栈中的位置具体可以通过预先设置的指针实现,所述指针可以为设置的一个对象,用于指向存储有当前加载页面地址的存储空间。以便于能够快速在历史记录栈中查找到所述第三页面地址的存储空间,且在所述第三页面发生跳转时,所述指针也能够随之进行更新,例如,所述指针可以设置为一个对象a,第三页面A的存储空间标识为xxx_A,则所述对象a赋值为xxx_A,而当A页面跳转至B页面后,B页面地址在历史记录栈中存储空间标识为xxx_B,则所述对象a可以赋值为xxx_B,这样就可以实现无论所述页面如何跳转,所述指针都能够指向历史记录栈中存储页面地址的存储空间,以便于在所述第一页面中未设置有第二页面的地址时,能够快速在历史记录栈中查找所述第三页面的地址并进行返回操作,提高页面返回的效率。
207、调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
本步骤与图1所示的步骤105方法相同,在此不再赘述。
本发明提供一种页面返回方法,能够通过接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。从而能够在预先在当前页面的源码中配置其返回页面的地址,并通过对当前页面返回方法的重写,使得在接收到返回指令时,能够触发重写后的返回方法,根据返回页面的地址进行返回操作。进而可以返回指定的页面,避免在页面返回时出现死循环的现象,提高页面返回的效率。
进一步地,作为图1的具体实现,本发明实施例提供了一种页面返回装置,如图3所示,所述装置包括:接收单元31、配置单元32、加载单元33、重写单元34和返回单元35。
所述接收单元31,可以用于接收跳转至第一页面的指令时,获取所述第一页面的源码;
所述配置单元32,可以用于在所述第一页面的源码中配置第二页面的地址,其中,所述第二页面为;
所述加载单元33,可以用于根据所述第一页面的源码加载所述第一页面;
所述重写单元34,可以用于读取所述第一页面中的返回方法,并对所述返回方法进行重写;
所述返回单元35,可以用于接收到返回第二页面的指令时,调用重写后的返回方法获取所述第二页面的地址,以返回所述第二页面。
进一步地,所述重写单元34,包括:
读取模块341,可以用于在所述第一页面源码中读取历史返回方法;
重写模块342,可以用于将所述历史返回方法重写为调用JS的原生返回方法。
进一步地,所述配置单元32,包括:
获取模块321,可以用于获取所述第二页面的地址;
检索模块322,可以用于在所述第一页面中检索地址包;
添加模块323,可以用于将所述第二页面的地址添加到所述地址包中。
进一步地,所述加载单元33,包括:
引用模块331,可以用于在开发框架中引入所述第一页面的控制器;
保存模块332,可以用于将所述第一页面源码保存至指定文件路径下;
配置模块333,可以用于在所述第一页面的控制器中配置页面加载方法,其中,所述页面加载方法中包括页面渲染语句;
执行模块334,可以用于执行所述页面渲染语句,调取指定文件路径下的第一页面源码,以加载所述第一页面。
进一步地,所述装置还包括:
检查单元36,可以用于检查所述第一页面源码中是否配置有所述第二页面的地址;
第一返回单元37,可以用于若配置有所述第二页面的地址,则根据所述第二页面的地址返回所述第二页面。
进一步地,所述装置还包括:
第二返回单元38,可以用于若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址,其中,所述第三页面为所述第一页面的初始返回页面;
所述加载单元33具体还可以用于加载所述第三页面的地址。
进一步地,所述装置还包括:
创建单元39,用于创建历史记录栈,其中,所述历史记录栈中存储有第一页面、第二页面及第三页面的地址;
标记单元310,可以用于标记所述第三页面的地址在所述历史记录栈中的存储位置。
需要说明的是,本发明实施例提供的一种页面返回装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
本发明提供一种页面返回装置,能够通过接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。从而能够在预先在当前页面的源码中配置其返回页面的地址,并通过对当前页面返回方法的重写,使得在接收到返回指令时,能够触发重写后的返回方法,根据返回页面的地址进行返回操作。进而可以返回指定的页面,避免在页面返回时出现死循环的现象,提高页面返回的效率。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行以下步骤:接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备,如图4所示,处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43、以及通信总线44。其中:处理器41、通信接口42、以及存储器43通过通信总线44完成相互间的通信。通信接口44,用于与其它设备比如用户端或其它节点等的网元通信。处理器41,用于执行程序,具体可以执行上述页面返回方法实施例中的相关步骤。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。处理器41可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器43,用于存放程序。存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序具体可以用于使得处理器41执行以下操作:接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
通过本发明的技术方案,通过接收跳转至第一页面的指令时,获取第一页面源码;在所述第一页面源码中配置第二页面的地址;根据配置后的第一页面源码加载所述第一页面;读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。从而能够在预先在当前页面的源码中配置其返回页面的地址,并通过对当前页面返回方法的重写,使得在接收到返回指令时,能够触发重写后的返回方法,根据返回页面的地址进行返回操作。进而可以返回指定的页面,避免在页面返回时出现死循环的现象,提高页面返回的效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种页面返回方法,其特征在于,包括:
接收跳转至第一页面的指令时,获取第一页面源码;
在所述第一页面源码中配置第二页面的地址;
根据配置后的第一页面源码加载所述第一页面;
读取所述第一页面源码中的返回方法,并对所述返回方法进行重写;
接收到返回第二页面的指令时,调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面。
2.根据权利要求1所述的方法,其特征在于,所述读取所述第一页面源码中的返回方法,并对所述返回方法进行重写,包括:
在所述第一页面源码中读取历史返回方法;
将所述历史返回方法重写为调用JS的原生返回方法。
3.根据权利要求1所述的方法,其特征在于,所述在所述第一页面源码中配置第二页面的地址,包括:
获取所述第二页面的地址;
在所述第一页面中检索地址包;
将所述第二页面的地址添加到所述地址包中。
4.根据权利要求1所述的方法,其特征在于,所述根据配置后的第一页面源码加载所述第一页面,包括:
在开发框架中引入所述第一页面的控制器;
将所述第一页面源码保存至指定文件路径下;
在所述第一页面的控制器中配置页面加载方法,其中,所述页面加载方法中包括页面渲染语句;
执行所述页面渲染语句,调取指定文件路径下的第一页面源码,以加载所述第一页面。
5.根据权利要求1所述的方法,其特征在于,所述调用重写后的返回方法在所述第一页面源码中获取所述第二页面的地址,以返回所述第二页面之前,所述方法还包括:
检查所述第一页面源码中是否配置有所述第二页面的地址;
若配置有所述第二页面的地址,则根据所述第二页面的地址返回所述第二页面。
6.根据权利要求5所述的方法,其特征在于,所述检查所述第一页面的源码中是否配置有所述第二页面的地址之后,所述方法还包括:
若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址,其中,所述第三页面为所述第一页面的初始返回页面;
加载所述第三页面的地址。
7.根据权利要求6所述的方法,其特征在于,所述若未配置有所述第二页面的地址,则直接从历史记录栈中获取预先标记的第三页面的地址之前,所述方法还包括:
创建历史记录栈,其中,所述历史记录栈中存储有第一页面、第二页面及第三页面的地址;
标记所述第三页面的地址在所述历史记录栈中的存储位置。
8.一种页面返回装置,其特征在于,包括:
接收单元,用于接收跳转至第一页面的指令时,获取所述第一页面的源码;
配置单元,用于在所述第一页面的源码中配置第二页面的地址,其中,所述第二页面为;
加载单元,用于根据所述第一页面的源码加载所述第一页面;
重写单元,用于读取所述第一页面中的返回方法,并对所述返回方法进行重写;
返回单元,用于接收到返回第二页面的指令时,调用重写后的返回方法获取所述第二页面的地址,以返回所述第二页面。
9.一种存储介质,其上存储有计算机程序,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行如权利要求1-7中任一项所述的页面返回方法对应的操作。
10.一种计算机设备,包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信,所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的页面返回方法对应的操作。
CN202011603306.8A 2020-12-29 2020-12-29 一种页面返回方法、装置、存储介质及计算机设备 Pending CN112685118A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011603306.8A CN112685118A (zh) 2020-12-29 2020-12-29 一种页面返回方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011603306.8A CN112685118A (zh) 2020-12-29 2020-12-29 一种页面返回方法、装置、存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN112685118A true CN112685118A (zh) 2021-04-20

Family

ID=75454489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011603306.8A Pending CN112685118A (zh) 2020-12-29 2020-12-29 一种页面返回方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN112685118A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257131A1 (en) * 2004-02-11 2005-11-17 Lim Jing Y Frame environment that supports the navigation buttons of a web browser
US20070255694A1 (en) * 2006-04-07 2007-11-01 Jianqing Wu Document-drafting system using document components
US8639743B1 (en) * 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
CN107506178A (zh) * 2017-06-28 2017-12-22 北京五八信息技术有限公司 一种页面跳转管理方法和装置
CN110430472A (zh) * 2019-08-12 2019-11-08 浙江岩华文化传媒有限公司 页面控制方法、装置和设备
CN111596999A (zh) * 2020-05-14 2020-08-28 上海仪电数字技术股份有限公司 页面控制方法、装置、电子设备、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257131A1 (en) * 2004-02-11 2005-11-17 Lim Jing Y Frame environment that supports the navigation buttons of a web browser
US20070255694A1 (en) * 2006-04-07 2007-11-01 Jianqing Wu Document-drafting system using document components
US8639743B1 (en) * 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
CN107506178A (zh) * 2017-06-28 2017-12-22 北京五八信息技术有限公司 一种页面跳转管理方法和装置
CN110430472A (zh) * 2019-08-12 2019-11-08 浙江岩华文化传媒有限公司 页面控制方法、装置和设备
CN111596999A (zh) * 2020-05-14 2020-08-28 上海仪电数字技术股份有限公司 页面控制方法、装置、电子设备、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三秋树: "前端随笔一一浏览器的历史回退自我实现-网址", pages 1 - 2, Retrieved from the Internet <URL:https://www.cnblogs.com/HcatTrees/p/8364852.html> *

Similar Documents

Publication Publication Date Title
CN111104635B (zh) 一种表格网页的生成方法和装置
CN102567516B (zh) 脚本加载方法及装置
CN110908712A (zh) 移动端跨平台的数据处理方法和设备
CN108647032B (zh) 应用加载方法及装置、计算机装置和计算机可读存储介质
CN106569856A (zh) 一种应用视图资源文件的加载方法和装置
CN105138312A (zh) 一种表格生成方法及装置
CN112817657B (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
CN110968314B (zh) 一种页面生成方法及装置
CN106648569A (zh) 目标序列化实现方法和装置
CN112099800A (zh) 代码数据的处理方法、装置和服务器
CN112612982A (zh) 网页预加载方法、装置及计算机设备
CN113157274B (zh) 基于微前端的软件开发方法、装置、电子设备及存储介质
CN115421693A (zh) 微前端架构的实现方法、装置、计算机设备和存储介质
CN112685118A (zh) 一种页面返回方法、装置、存储介质及计算机设备
CN113805984B (zh) 一种动态网页截图方法、终端设备及存储介质
CN111708519B (zh) 一种业务组件的处理方法、装置、设备和存储介质
CN107092601B (zh) 资源文件构建方法、资源文件应用方法及装置
CN115080899A (zh) 交互式子网页启动方法、装置、设备及存储介质
CN114528510A (zh) 网页数据处理的方法、装置、电子设备及介质
CN111581578B (zh) 接口请求处理方法和装置
CN110837367B (zh) 用户界面处理方法、装置及电子设备
CN114168875A (zh) 一种页面程序的生成方法、装置、计算机设备及存储介质
CN103885988A (zh) 输出内容的方法及装置、内容输出系统
CN114254232A (zh) 云产品页面生成方法、装置、计算机设备和存储介质
CN110262846A (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