页面跳转方法及装置转让专利

申请号 : CN201810958231.1

文献号 : CN110858242A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何曜中郝豪宋海波

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本说明书一个或多个实施例提供一种页面跳转方法及装置,该方法可以包括:接收到向第一页面的跳转请求;当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面;其中,所述特殊页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时关闭。

权利要求 :

1.一种页面跳转方法,其特征在于,包括:

接收到向第一页面的跳转请求;

当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面;其中,所述特殊页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时关闭。

2.根据权利要求1所述的方法,其特征在于,所述特殊页面容器在所述第二页面为符合所述预设特征的非原生应用页面时保持开启,以使所述第二页面在所述特殊页面容器内被打开。

3.根据权利要求1所述的方法,其特征在于,还包括:

当所述第二页面为不符合所述预设特征的非原生应用页面时,在正常页面容器中打开所述第二页面。

4.根据权利要求1所述的方法,其特征在于,还包括:

当所述第一页面为不符合所述预设特征的非原生应用页面时,在正常页面容器中打开所述第一页面;其中,所述正常页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时保持开启。

5.根据权利要求1所述的方法,其特征在于,所述接收到向第一页面的跳转请求,包括:接收到由所述第二页面向所述第一页面的跳转请求。

6.根据权利要求1所述的方法,其特征在于,

所述接收到向第一页面的跳转请求,包括:接收到区别于所述第二页面的第三页面向所述第一页面的跳转请求;

所述当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面,包括:当所述第三页面为符合所述预设特征的非原生应用页面时,在所述第三页面所处的特殊页面容器中从所述第三页面跳转至所述第一页面;当所述第三页面为原生应用界面或不符合所述预设特征的非原生应用页面时,唤出所述特殊页面容器,并在所述特殊页面容器中打开所述第一页面。

7.根据权利要求1所述的方法,其特征在于,所述当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面,包括:在所述特殊页面容器中打开用于等待跳转至所述第一页面的中间页面,以在所述特殊页面容器中打开所述第一页面,其中所述中间页面不符合所述预设特征。

8.根据权利要求1所述的方法,其特征在于,所述预设特征包括:相关页面由第三方提供、匹配于预设黑名单或者不匹配于预设白名单。

9.根据权利要求1所述的方法,其特征在于,还包括:

根据对所述特殊页面容器配置的拦截规则,对所述第一页面进行规则匹配;

当所述第一页面符合所述拦截规则时,关闭所述特殊页面容器。

10.根据权利要求1所述的方法,其特征在于,还包括:

监听所述特殊页面容器在单次生命周期内打开的非原生应用页面;

根据所述单次生命周期内打开的非原生应用页面之间的跳转情况,生成相应的页面跳转链路,以根据所述页面跳转链路的完整度信息识别链路阻塞事件。

11.一种页面跳转装置,其特征在于,包括:

请求接收单元,接收到向第一页面的跳转请求;

第一页面开启单元,当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面;其中,所述特殊页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时关闭。

12.根据权利要求11所述的装置,其特征在于,所述特殊页面容器在所述第二页面为符合所述预设特征的非原生应用页面时保持开启,以使所述第二页面在所述特殊页面容器内被打开。

13.根据权利要求11所述的装置,其特征在于,还包括:第二页面开启单元,当所述第二页面为不符合所述预设特征的非原生应用页面时,在正常页面容器中打开所述第二页面。

14.根据权利要求11所述的装置,其特征在于,还包括:第三页面开启单元,当所述第一web页面为不符合所述预设特征的非原生应用页面时,在正常页面容器中打开所述第一页面;其中,所述正常页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时保持开启。

15.根据权利要求11所述的装置,其特征在于,所述请求接收单元具体用于:接收到由所述第二页面向所述第一页面的跳转请求。

16.根据权利要求11所述的装置,其特征在于,

所述请求接收单元具体用于:接收到区别于所述第二页面的第三页面向所述第一页面的跳转请求;

所述第一页面开启单元具体用于:当所述第三页面为符合所述预设特征的非原生应用页面时,在所述第三页面所处的特殊页面容器中从所述第三页面跳转至所述第一页面;当所述第三页面为原生应用界面或不符合所述预设特征的非原生应用页面时,唤出所述特殊页面容器,并在所述特殊页面容器中打开所述第一页面。

17.根据权利要求11所述的装置,其特征在于,所述第一页面开启单元具体用于:在所述特殊页面容器中打开用于等待跳转至所述第一页面的中间页面,以在所述特殊页面容器中打开所述第一页面,其中所述中间页面不符合所述预设特征。

18.根据权利要求11所述的装置,其特征在于,所述预设特征包括:相关页面由第三方提供、匹配于预设黑名单或者不匹配于预设白名单。

19.根据权利要求11所述的装置,其特征在于,还包括:规则匹配单元,根据对所述特殊页面容器配置的拦截规则,对所述第一页面进行规则匹配;

页面拦截单元,当所述第一页面符合所述拦截规则时,关闭所述特殊页面容器。

20.根据权利要求11所述的装置,其特征在于,还包括:页面监听单元,监听所述特殊页面容器在单次生命周期内打开的非原生应用页面;

链路生成单元,根据所述单次生命周期内打开的非原生应用页面之间的跳转情况,生成相应的页面跳转链路,以根据所述页面跳转链路的完整度信息识别链路阻塞事件。

说明书 :

页面跳转方法及装置

技术领域

[0001] 本说明书一个或多个实施例涉及终端技术领域,尤其涉及一种页面跳转方法及装置。

背景技术

[0002] 通过在电子设备上运行APP(应用程序),可使用户在电子设备上实现相应的应用功能。Native(原生)模式的APP基于操作系统进行编写和运行,能够带来更佳的用户使用体验,但需要针对不同平台分别进行APP开发,并且升级维护较为繁杂。非原生模式(如Web(网页)模式)的APP基于操作系统上运行的页面容器(如针对Web页面的webview),可以呈现相关的应用功能界面,虽然流畅度和功能丰富程度相对较低,但是适用于跨平台开发,并且便于实现升级维护。
[0003] 因此,相关技术中通过对native模式和非原生模式进行融合,将APP的部分应用功能通过native方式实现、部分应用功能通过非原生方式实现,由此兼顾了native模式和非原生模式的优势。

发明内容

[0004] 有鉴于此,本说明书一个或多个实施例提供一种页面跳转方法及装置。
[0005] 为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006] 根据本说明书一个或多个实施例的第一方面,提出了一种页面跳转方法,包括:
[0007] 接收到向第一页面的跳转请求;
[0008] 当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面;其中,所述特殊页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时关闭。
[0009] 根据本说明书一个或多个实施例的第二方面,提出了一种页面跳转装置,包括:
[0010] 请求接收单元,接收到向第一页面的跳转请求;
[0011] 第一页面开启单元,当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面;其中,所述特殊页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时关闭。

附图说明

[0012] 图1是一示例性实施例提供的一种页面跳转系统的架构示意图。
[0013] 图2是一示例性实施例提供的一种页面跳转方法的流程图。
[0014] 图3是一示例性实施例提供的一种支付场景下的页面跳转的示意图。
[0015] 图4是一示例性实施例提供的另一种支付场景下的页面跳转的示意图。
[0016] 图5是一示例性实施例提供的一种支付场景下的页面回退的示意图。
[0017] 图6是一示例性实施例提供的又一种支付场景下的页面跳转的示意图。
[0018] 图7是一示例性实施例提供的一种页面拦截管理的示意图。
[0019] 图8是一示例性实施例提供的一种链路监控的示意图。
[0020] 图9是一示例性实施例提供的一种设备的结构示意图。
[0021] 图10是一示例性实施例提供的一种页面跳转装置的框图。

具体实施方式

[0022] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0023] 需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0024] 图1是一示例性实施例提供的一种页面跳转系统的架构示意图。如图1所示,该系统可以包括第一服务器11、网络12、用户设备13、第二服务器14。
[0025] 第一服务器11可以为包含一独立主机的物理服务器,或者该第一服务器11可以为主机集群承载的虚拟服务器。在运行过程中,第一服务器11可以运行某一应用的服务器侧的程序,以实现该应用的服务端。
[0026] 用户设备13可以包括任意类型的电子设备,比如平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,只要能够用于展示应用功能界面即可,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行上述某一应用的客户端侧的程序,以实现该应用的客户端。
[0027] 第二服务器14可以为包含一独立主机的物理服务器,或者该第二服务器14可以为主机集群承载的虚拟服务器。在运行过程中,第二服务器14可以运行区别于上述某一应用的另一应用的服务器侧的程序,以实现该另一应用的服务端。
[0028] 而对于用户设备13与第一服务器11、第二服务器14之间进行交互的网络12,可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(Public Switched Telephone Network,PSTN)和因特网。
[0029] 用户设备13上运行的客户端侧的程序可以表现为客户端APP,当该客户端APP采用web模式或hybrid模式时,涉及到在web页面容器中打开上述第一服务器11或第二服务器14提供的web页面;其中,当web页面由第一服务器11提供时,由于第一服务器11与用户设备13分别运行同一应用的程序,使得用户设备13运行的客户端APP了解该web页面的情况并且能够充分匹配、控制该web页面,而当web页面由第二服务器14提供时,虽然无法充分了解该web页面的相关情况,但通过实施本说明书的页面跳转方案,仍然能够确保该web页面的正常展示,并确保用户设备13运行的客户端APP实现对该web页面的相关控制操作。
[0030] 当然,除了web模式之外,还可以存在其他类型的非原生模式,可以通过呈现出相应的非原生应用页面(对应于web模式下的web页面),同样可以实现基于本说明书的页面跳转方案。因此,本说明书的实施例仅针对web模式下的web页面跳转过程进行示例性地描述,并不对此进行限制。
[0031] 图2是一示例性实施例提供的一种页面跳转方法的流程图。如图2所示,该方法应用于电子设备(例如图1所示的用户设备13等),可以包括以下步骤:
[0032] 步骤202,接收到向第一web页面的跳转请求。
[0033] 在一实施例中,电子设备上运行有hybrid模式的客户端APP,可以从客户端APP上的原生应用界面接收向第一web页面的跳转请求,或者可以从客户端APP上的另一web页面收到向第一web页面的跳转请求。
[0034] 在一实施例中,电子设备运行有web模式的客户端APP,可以从客户端APP上的另一web页面收到向第一web页面的跳转请求。
[0035] 步骤204,当所述第一web页面符合预设特征或所述跳转请求属于预设类型时,在特殊web页面容器中打开所述第一web页面。
[0036] 在一实施例中,区别于相关技术中仅存在一个正常web页面容器的客户端APP,本说明书中的客户端APP除了该正常web页面容器之外,还提供特殊web页面容器;其中,该特殊web容器可以继承正常web页面容器的功能,但客户端APP能够直接关闭该特殊web容器,以避免第一web页面对客户端APP的业务实现过程或者其他应用功能页面造成影响。例如,该特殊web页面容器可以在所述第一web页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的web页面时关闭;其中,当第二页面为不符合所述预设特征的web页面时,即可在上述的正常web页面容器中打开该第二页面,客户端APP不会主动关闭该正常web页面容器。
[0037] 在一实施例中,通过对特殊web页面的主动关闭,使得该特殊web页面容器及其打开的第一web页面与正常web页面容器及其打开的web页面之间解耦,能够单独对该第一web页面或其他符合上述预设特征的web页面实施控制,避免对客户端APP中的原生应用界面或不符合该预设特征的web页面造成不良影响。
[0038] 在一实施例中,特殊web页面容器可以在第二页面为符合所述预设特征的web页面时保持开启,以使所述第二页面在所述特殊web页面容器内被打开,可以确保业务在符合预设特征的web页面之间顺利实施。
[0039] 在一实施例中,特殊web页面容器也可以在第二页面为符合所述预设特征的web页面时关闭,并重新唤起另一特殊web页面容器,以使得第二页面在重新唤出的特殊web页面容器内被打开,本说明书并不对此进行限制。
[0040] 在一实施例中,客户端APP可以通过任意方式唤起特殊web页面容器,本说明书并不对此进行限制。例如,可以由原生应用界面或正常web页面容器通过调用JSBridge对象来唤起特殊web页面容器;又例如,客户端APP可以获取服务端下发的配置信息,使得该配置信息定义的触发条件被满足时,可以使得特殊web页面容器被唤起。
[0041] 在一实施例中,当所述第一web页面不符合所述预设特征时,可以在正常web页面容器中打开所述第一web页面;其中,所述正常web页面容器在所述第一web页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的web页面时保持开启,以使得相关业务能够顺利实现。
[0042] 在一实施例中,上述的跳转请求可以为由所述第二页面向所述第一web页面的跳转请求,而结合后续从第一web页面向第二页面的跳转操作,相当于从第二页面跳转至第一web页面后,从第一web页面回退至第二页面。如果从第二页面跳转至第一web页面时需要发起业务请求,那么当第一web页面符合上述的预设特征,且第二页面为原生应用界面或不符合预设特征的web页面时,通过关闭特殊web页面容器,可以避免在回退至第二页面时重新发起业务请求而导致业务失败。例如,当第二页面为支付请求页面、第一web页面为银行支付页面时,通过在从银行支付页面回退至支付请求页面时关闭特殊web页面容器,可以在回退至该支付请求页面的同时,避免重新发送支付请求,防止造成支付失败。
[0043] 在一实施例中,上述的跳转请求可以为由区别于所述第二页面的第三页面向所述第一web页面的跳转请求。其中,当所述第三页面为符合所述预设特征的web页面时,该第三页面必然已经在被唤起的特殊web页面容器中被打开,因而可以在该第三页面所处的特殊web页面容器内从所述第三页面跳转至所述第一web页面;当然,也可以关闭第三页面所处的特殊web页面容器,并重新唤起另一特殊web页面容器,使得第一web页面在该另一特殊web页面容器中被打开。当所述第三页面为原生应用界面或不符合所述预设特征的web页面时,特殊web页面容器尚未被唤起,可以唤出所述特殊web页面容器,并在所述特殊web页面容器中打开所述第一web页面。
[0044] 在一实施例中,在从某一页面跳转至第一web页面时,可能存在等待跳转的中间web页面,譬如该中间web页面用于轮询并跳转时机,那么可以在所述特殊web页面容器中打开该用于等待跳转至所述第一web页面的中间web页面。其中,所述中间web页面不符合所述预设特征,但是通过将其在特殊web页面容器内打开,使得从第一web页面进行回退时,通过关闭特殊web页面容器可以避免回退至该中间web页面,而直接回退至该中间web页面之前的上述某一页面。
[0045] 在一实施例中,所述预设特征可以包括:相关页面由第三方提供、匹配于预设黑名单或者不匹配于预设白名单,本说明书并不对此进行限制。实际上,对于任何具有控制需求的web页面,均可以设置相应的预设特征,以通过特殊web页面容器实现对该web页面的控制管理;例如,如果希望用户操作在业务实现过程中的某个步骤不可逆,可以基于本说明书的技术方案对该步骤对应的web页面进行控制管理,又例如,如果某一web页面对于客户端APP不可控(例如第三方提供的web页面),可以基于本说明书的技术方案对该步骤对应的web页面进行控制管理。
[0046] 在一实施例中,跳转请求的类型与第一web页面的类型之间可以存在映射关系,即跳转请求的类型可以表征第一web页面是否为符合预设特征的web页面,因而可以根据跳转请求的类型,确定是否需要在特殊web页面容器中打开第一web页面。
[0047] 在一实施例中,可以根据对所述特殊web页面容器配置的拦截规则,对所述第一web页面进行规则匹配;其中,当所述第一web页面符合所述拦截规则时,可以关闭所述特殊web页面容器,从而对该第一web页面实现拦截。其中,可以通过服务端向客户端APP下发针对特殊web容器的拦截规则,那么即便第一web页面本身设置的拦截规则不符合要求,也可以顺利实现拦截操作。
[0048] 在一实施例中,可以监听所述特殊web页面容器在单次生命周期内打开的web页面;根据所述单次生命周期内打开的web页面之间的跳转情况,生成相应的页面跳转链路,以根据所述页面跳转链路的完整度信息识别链路阻塞事件。例如,页面跳转链路可以包括各个web页面的title(标题)信息,这些title信息按照对应web页面之间的跳转顺序进行排列。通过获取页面跳转链路,并将其与预定义的标准页面跳转链路进行比较,即可确定该页面跳转链路的完整度信息;而通过分析统计一定数量(全部或一部分)用户设备上报的页面跳转链路的完整度信息,可以快速、准确地确定出链路阻塞事件。譬如,当超出预设比例的用户设备均在页面跳转链路中的某一web页面处终止,但该web页面并非最终页面,那么该web页面处很可能发生了链路阻塞。
[0049] 为了便于理解,下面以用户设备运行交易平台客户端APP,并通过该交易平台客户端APP完成支付操作的过程为例,对本说明书的页面跳转方案进行详细描述。
[0050] 图3是一示例性实施例提供的一种支付场景下的页面跳转的示意图。如图3所示,用户设备上运行有交易平台客户端APP,用户可以通过该交易平台客户端APP浏览交易平台上的货品,从而针对交易货品实施交易操作。当用户确认购买交易平台上的某一货品时,可以生成相应的交易订单,并展示于支付触发界面。支付触发界面用于触发支付流程,譬如支付触发界面上可以包含诸如“立即支付”或“确认支付”等选项,用户可以通过选取该选项以触发支付流程。
[0051] 在一实施例中,当支付触发界面为web页面(譬如H5页面)时,由于该支付触发界面为交易平台的内部web页面,譬如该支付触发界面可以由交易平台服务器提供,使得该支付触发界面包含的内容、所能实现的功能等都可预知且可控,因而可以在交易平台客户端APP上运行的正常webview容器中打开该支付触发界面,以向用户进行展示。
[0052] 在一实施例中,当检测到支付流程被触发后,可以从支付触发界面跳转至银行支付界面,以使得用户可以通过银行支付界面完成支付操作。银行支付界面可以为H5类型的web页面,当然本说明书并不对此进行限制。但是,由于银行支付界面并非交易平台的内部web页面,譬如该银行支付界面可由银行服务器提供,即该银行支付界面为第三方提供的web页面,使得该银行支付界面中可能包含第三方制作的定制模块和定制规则,而区别于交易平台客户端APP的设定,可能存在不可控而导致的安全性问题或影响用户的正常体验。
[0053] 因此,当支付触发界面需要跳转至银行支付界面时,可以从支付触发界面调用交易平台客户端APP中用于触发特殊webview容器的JSBridge组件,以唤起特殊webview容器,从而在该特殊webview容器中打开银行支付界面,而避免在上述的正常webview容器中打开该银行支付界面。当然,还可以通过其他方式唤起特殊webview容器,例如当存在发给交易平台客户端APP的origin配置时,可以在配置定义的唤起条件被满足的情况下,唤起特殊webview容器;其中,可以将该唤起条件设置为“需要跳转至第三方web页面”,从而在从支付触发界面跳转至银行支付界面时,可以唤起特殊webview容器以打开银行支付界面。再例如,可以配置正常webview容器的白名单,将内部web页面添加至白名单,而在需要跳转至第三方web页面时由于其不属于白名单而唤起特殊webview容器;又例如,可以配置正常webview容器的黑名单,将第三方web页面添加至黑名单,而在需要跳转至第三方web页面时由于其属于黑名单而唤起特殊webview容器。
[0054] 虽然银行支付界面在特殊webview容器中被打开,但对于用户而言并不会体验到容器变化,不会影响用户的正常使用。用户可以在银行支付界面中完成支付操作。当支付操作完成后,需要从银行支付界面跳转至支付结果界面,由于该支付结果界面属于交易平台的内部web页面,譬如该支付结果界面可由交易平台服务器提供,因而可以关闭特殊webview容器后,在正常webview容器内打开支付结果界面,向用户展示支付结果。
[0055] 可见,特殊webview容器与正常webview容器的区别在于,交易平台客户端APP对该特殊webview容器具有强制关闭的控制权限,使得即便第三方web页面的内容和功能等处于不可控状态,仍然可以通过该特殊webview容器对第三方页面进行控制。而通过将交易平台服务器提供的内部web页面在正常webview容器中打开,将银行服务器提供的第三方web页面在特殊webview容器中打开,使得第三方web页面与业务链路上的内部web页面之间实现解耦,对第三方web页面与业务链路实现了有效隔离,避免该第三方web页面对业务实现造成不良影响。
[0056] 图4是一示例性实施例提供的另一种支付场景下的页面跳转的示意图。如图4所示,支付触发界面和支付结果界面等可以为交易平台客户端APP的原生应用界面,当需要从作为原生应用界面的支付触发界面跳转至银行支付界面时,由于该银行支付界面为第三方web页面,因而需要唤起特殊webview容器,并在该特殊webview容器中打开银行支付界面。在完成支付操作后,当需要从银行支付界面跳转至支付结果界面时,由于该支付结果界面为原生应用界面,因而需要关闭特殊webview容器,然后跳转至支付结果界面。
[0057] 在一实施例中,当支付触发界面为如图3所示的内部web页面、支付结果界面为如图4所示的原生应用界面时,或者当支付触发界面为如图4所示的原生应用界面、支付结果界面为如图3所示的内部web页面时,同样需要在从支付触发界面跳转至银行支付界面时唤起特殊webview容器、在特殊webview容器中打开银行支付界面,以及在从银行支付界面跳转至支付结果界面时关闭特殊webview容器,此处不再赘述。
[0058] 图5是一示例性实施例提供的一种支付场景下的页面回退的示意图。如图5所示,以支付触发界面为内部web页面为例,该支付触发界面在交易平台客户端APP中的正常webview容器中打开,而在从支付触发界面跳转至作为第三方web页面的银行支付界面时,需要唤起特殊webview容器,并在该特殊webview容器中打开银行支付界面。
[0059] 当用户由于一些原因需要实施回退操作时,相当于从银行支付界面跳转回支付触发界面,由于支付触发界面为内部web页面而非第三方web页面,因而一方面在正常webview容器中打开该支付触发界面,使得用户体验上完成了回退操作,另一方面通过关闭特殊webview容器,可以避免造成重复发送支付请求而导致支付失败。
[0060] 在一实施例中,当支付触发界面为原生应用界面时,在从银行支付界面回退至支付触发界面时,同样需要关闭特殊webview容器,以避免造成重复发送支付请求而导致支付失败。
[0061] 图6是一示例性实施例提供的又一种支付场景下的页面跳转的示意图。如图6所示,在从支付触发界面跳转至银行支付界面的过程中,可能存在一中间界面,比如该中间界面可以为跳转等待界面,该跳转等待界面通常表现为一空白页,其作用是向交易平台客户端APP的后台轮询跳转时机是否到达,并在跳转时机到达后跳转至银行支付界面。
[0062] 在一实施例中,可以在特殊webview容器中打开该跳转等待界面,使得用户从银行支付界面实施回退操作时,可以通过关闭特殊webview容器而避免跳转至该跳转等待界面对应的空白页,而可以直接跳转至支付触发界面,可以简化用户操作(无需再从跳转等待界面跳转回支付触发界面)、避免影响用户体验(空白页可能使用户误以为发生异常情况)。当然,即便在正常webview容器中打开上述的跳转等待界面,也并不影响银行支付界面的回退操作,仍然可以避免在回退过程中重复发送支付请求而导致支付失败。
[0063] 在一实施例中,通过分别采用正常webview容器和特殊webview容器,可以对正常webview容器和特殊webview容器采用差异化的配置,从而实现差异化的管理控制方案。尤其是,对于无法或难以直接管控的第三方web页面等,可以通过对特殊webview容器的配置而使得便于管控。
[0064] 图7是一示例性实施例提供的一种页面拦截管理的示意图。如图7所示,通过为特殊webview容器配置页面拦截规则,使得从支付触发界面跳转至银行支付界面时,如果该银行支付界面触发了页面拦截规则,譬如存在钓鱼风险时,可以通过关闭特殊webview容器的方式实现对银行支付界面的页面拦截。因此,即便银行支付界面为第三方web页面,其自身具备的拦截能力与交易平台客户端APP的拦截需求不匹配,仍然可以通过对特殊webview容器配置页面拦截规则,使得交易平台客户端APP的拦截需求得以满足。
[0065] 在一实施例中,当银行支付界面被拦截而未能打开时,可以返回支付触发界面或者跳转至拦截说明界面,本说明书并不对此进行限制。
[0066] 图8是一示例性实施例提供的一种链路监控的示意图。如图8所示,从支付触发界面跳转至银行支付界面时,该银行支付界面可能具体包含银行支付界面1、银行支付界面2……银行支付界面n等n个web页面。首先,在唤起特殊webview容器后,可以在该特殊webview容器中打开银行支付界面1,然后基于用户在银行支付界面1上的操作而跳转至银行支付界面2,在该过程中由于银行支付界面2同样为第三方web页面,因而特殊webview容器并不关闭,而是直接跳转至该银行支付界面2;进一步地,通过类似地方式,可以依次跳转至银行支付界面n,直至需要跳转至支付结果界面或其他的非第三方web页面,才关闭特殊webview容器。
[0067] 在一实施例中,可以为特殊webview容器添加监控逻辑,以用于了解特殊webview容器内的页面跳转链路的情况。例如,特殊webview容器可以对各个银行支付界面1~n的title进行记录,并根据跳转顺序对各个title进行依次排序,那么直至特殊webview容器被关闭,可以形成该特殊webview容器的单次生命周期对应的页面跳转链路,譬如当依次在银行支付界面1、银行支付界面2、银行支付界面3和银行支付界面4之间跳转时,页面跳转链路可以为“银行支付界面1→银行支付界面2→银行支付界面3→银行支付界面4”。
[0068] 交易平台客户端APP可以将页面跳转链路上报至交易平台服务器,以供统计分析各个银行支付界面之间形成的银行支付链路的运行情况。例如,当支付失败时,可以将用户在支付过程中形成的页面跳转链路与标准的银行支付链路进行比较,譬如页面跳转链路为“银行支付界面1→银行支付界面2→银行支付界面3”,而银行支付链路为“银行支付界面1→银行支付界面2→银行支付界面3→银行支付界面4”,则表明银行支付界面3与银行支付界面4之间可能发生了链路阻塞;而通过分析相近时间段内的各个交易平台客户端APP上报的页面跳转链路,如果超出一定数量的页面跳转链路均存在类似问题,可以确定银行支付界面3与银行支付界面4之间发生了链路阻塞,可以向相关管理方进行汇报或协助解决问题。
[0069] 在一实施例中,交易平台客户端APP可以根据接收到的配置(如origin配置),对特殊webview容器采用的拦截逻辑或监控逻辑进行更新,并且无需对交易平台客户端APP进行版本升级,可以迅速调整拦截或监控策略,以满足相应的拦截或监控需求。
[0070] 图9是一示例性实施例提供的一种设备的示意结构图。请参考图9,在硬件层面,该设备包括处理器902、内部总线904、网络接口906、内存908以及非易失性存储器910,当然还可能包括其他业务所需要的硬件。处理器902从非易失性存储器910中读取对应的计算机程序到内存908中然后运行,在逻辑层面上形成页面跳转装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0071] 请参考图10,在软件实施方式中,该页面跳转装置可以包括:
[0072] 请求接收单元1001,接收到向第一页面的跳转请求;
[0073] 第一页面开启单元1002,当所述第一页面为符合预设特征的非原生应用页面或所述跳转请求属于预设类型时,在特殊页面容器中打开所述第一页面;其中,所述特殊页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时关闭。
[0074] 可选的,所述特殊页面容器在所述第二页面为符合所述预设特征的非原生应用页面时保持开启,以使所述第二页面在所述特殊页面容器内被打开。
[0075] 可选的,还包括:
[0076] 第二页面开启单元1003,当所述第二页面为不符合所述预设特征的非原生应用页面时,在正常页面容器中打开所述第二页面。
[0077] 可选的,还包括:
[0078] 第三页面开启单元1004,当所述第一页面为不符合所述预设特征的非原生应用页面时,在正常页面容器中打开所述第一页面;其中,所述正常页面容器在所述第一页面跳转至第二页面且所述第二页面为原生应用界面或不符合所述预设特征的非原生应用页面时保持开启。
[0079] 可选的,所述请求接收单元1001具体用于:
[0080] 接收到由所述第二页面向所述第一页面的跳转请求。
[0081] 可选的,
[0082] 所述请求接收单元1001具体用于:接收到区别于所述第二页面的第三页面向所述第一页面的跳转请求;
[0083] 所述第一页面开启单元1002具体用于:当所述第三页面为符合所述预设特征的非原生应用页面时,在所述第三页面所处的特殊页面容器中从所述第三页面跳转至所述第一页面;当所述第三页面为原生应用界面或不符合所述预设特征的非原生应用页面时,唤出所述特殊页面容器,并在所述特殊页面容器中打开所述第一页面。
[0084] 可选的,所述第一页面开启单元1002具体用于:
[0085] 在所述特殊页面容器中打开用于等待跳转至所述第一页面的中间页面,以在所述特殊页面容器中打开所述第一页面,其中所述中间页面不符合所述预设特征。
[0086] 可选的,所述预设特征包括:相关页面由第三方提供、匹配于预设黑名单或者不匹配于预设白名单。
[0087] 可选的,还包括:
[0088] 规则匹配单元1005,根据对所述特殊页面容器配置的拦截规则,对所述第一页面进行规则匹配;
[0089] 页面拦截单元1006,当所述第一页面符合所述拦截规则时,关闭所述特殊页面容器。
[0090] 可选的,还包括:
[0091] 页面监听单元1007,监听所述特殊页面容器在单次生命周期内打开的非原生应用页面;
[0092] 链路生成单元1008,根据所述单次生命周期内打开的非原生应用页面之间的跳转情况,生成相应的页面跳转链路,以根据所述页面跳转链路的完整度信息识别链路阻塞事件。
[0093] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0094] 在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0095] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0096] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0097] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0098] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0099] 在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0100] 应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0101] 以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。