IOS系统中H5网页的加载方法、装置、电子设备及存储介质与流程

文档序号:32165816发布日期:2022-11-12 04:30阅读:34来源:国知局
IOS系统中H5网页的加载方法、装置、电子设备及存储介质与流程
ios系统中h5网页的加载方法、装置、电子设备及存储介质
技术领域
1.本公开涉及互联网应用技术领域,尤其涉及一种ios系统中h5网页的加载方法、装置、电子设备及存储介质。


背景技术:

2.在应用于ios系统的各类应用程序(app)的开发中,很多业务由第5代超文本标记语言(hyper text markup language 5,h5)来实现,这不可避免地会用到wkwebview来作为其载体。虽然这种实现业务的方式具有灵活性好、迭代快、跨平台开发成本低的优点,但当用户开启了ios系统的网页内容访问限制功能时,可能出现h5网页的统一资源定位符(uniform resource locator,url)受到访问限制而无法加载出h5网页内容的问题。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种ios系统中h5网页的加载方法、装置、电子设备及存储介质。
4.根据本公开的一方面,提供了一种ios系统中h5网页的加载方法,包括:
5.获取并加载待访问的h5网页对应的统一资源定位符url;
6.在确定所述url受到网页访问限制的情况下,根据所述ios系统中预设的网页访问白名单,生成许可url;
7.加载所述许可url;
8.在所述许可url加载成功的情况下,获取与所述url对应的目标网页资源;
9.加载所述目标网页资源,以展示所述h5网页的网页内容。
10.根据本公开的另一方面,提供了一种ios系统中h5网页的加载装置,包括:
11.地址加载模块,用于获取并加载待访问的h5网页对应的统一资源定位符url;
12.生成模块,用于在确定所述url受到网页访问限制的情况下,根据所述ios系统中预设的网页访问白名单,生成许可url;
13.所述地址加载模块,还用于加载所述许可url;
14.资源获取模块,用于在所述许可url加载成功的情况下,获取与所述url对应的目标网页资源;
15.资源加载模块,用于加载所述目标网页资源,以展示所述h5网页的网页内容。
16.根据本公开的另一方面,提供了一种电子设备,包括:
17.处理器;以及
18.存储程序的存储器,
19.其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据前述一方面所述的ios系统中h5网页的加载方法。
20.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据前述一方面所述的ios系统中h5网
页的加载方法。
21.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现前述一方面所述的ios系统中h5网页的加载方法。
22.本公开实施例中提供的一个或多个技术方案,通过获取并加载待访问的h5网页对应的统一资源定位符url,在确定url受到网页访问限制的情况下,根据ios系统中预设的网页访问白名单,生成许可url并加载许可url,在许可url加载成功的情况下,获取与url对应的目标网页资源并加载目标网页资源,以展示h5网页的网页内容。采用本公开的方案,通过根据ios系统中预设的网页访问白名单生成许可url并加载,使得许可url能够通过网页访问限制的验证,进而获取与url对应的目标网页资源进行加载,实现了h5网页内容的成功加载,有效解决了因网页访问限制导致h5网页内容无法加载的问题,提升了h5网页加载的成功率。
附图说明
23.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
24.图1示出了根据本公开一示例性实施例的ios系统中h5网页的加载方法的流程图;
25.图2示出了根据本公开示例性实施例的在h5网页内容的显示页面中展示提示消息的示意图;
26.图3示出了根据本公开另一示例性实施例的ios系统中h5网页的加载方法的流程图;
27.图4示出了根据本公开示例性实施例的ios系统中h5网页的加载装置的示意性框图;
28.图5示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
29.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
30.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
31.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
32.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域
技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
33.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
34.以下参照附图描述本公开提供的ios系统中h5网页的加载方法、装置、电子设备及存储介质。
35.在全真在线教育场景中,教师通常会发送一些互动内容或者其他内容,当这些内容以h5的形式展示给学生时,如果学生使用的是ios系统的电子设备,并且学生打开了ios系统中的内容访问限制功能,这些内容会因为用于加载这些内容的url的域名未加入到ios系统的内容访问白名单中,而导致这些h5网页内容无法加载出来。
36.目前,相关技术中,为了解决在用户开启了ios系统的内容访问限制功能时,无法加载h5网页内容的技术问题,采用的方法是由用户主动将要访问的h5网页的域名,提前加入内容访问限制的内容访问白名单中,以使h5网页对应的url能够成功通过访问限制的验证。然而,这种方式需要用户配合修改设备配置,若用户未提前将要访问的h5网页的域名添加至内容访问白名单中,或者添加错误等,仍然无法成功加载出对应的h5网页内容。
37.针对上述问题,本公开提供了一种ios系统中h5网页的加载方法,通过获取并加载待访问的h5网页对应的统一资源定位符url,在确定url受到网页访问限制的情况下,根据ios系统中预设的网页访问白名单,生成许可url并加载许可url,在许可url加载成功的情况下,获取与url对应的目标网页资源并加载目标网页资源,以展示h5网页的网页内容。采用本公开的方案,通过根据ios系统中预设的网页访问白名单生成许可url并加载,使得许可url能够通过网页访问限制的验证,进而获取与url对应的目标网页资源进行加载,实现了h5网页内容的成功加载,有效解决了因网页访问限制导致h5网页内容无法加载的问题,提升了h5网页加载的成功率。
38.图1示出了根据本公开一示例性实施例的ios系统中h5网页的加载方法的流程图,该方法可以由ios系统中h5网页的加载装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在应用程序中,应用程序可以安装的电子设备中,所述电子设备包括使用ios系统的手机、平板电脑等设备。
39.如图1所示,该ios系统中h5网页的加载方法可以包括以下步骤:
40.步骤101,获取并加载待访问的h5网页对应的统一资源定位符url。
41.示例性地,待访问的h5网页可以是全真在线教育场景类的应用程序中需要显示的网页内容。比如,在全真在线教育场景类的应用程序中,教师在课堂上发送某个以h5网页的形式展示的互动内容,则该互动内容对应的h5网页即为待访问的h5网页。本公开实施例中,获取该待访问的h5网页对应的url,并加载该url。
42.示例性地,在加载待访问的url时,可以先对wkwebview的urlschemehandler进行域名注册配置,将待访问的url使用的传输协议如http、https等在urlschemehandler中进行注册。之后,使用已配置urlschemehandler的wkwebview加载待访问的h5网页对应的url。
43.步骤102,在确定所述url受到网页访问限制的情况下,根据所述ios系统中预设的网页访问白名单,生成许可url。
44.其中,网页访问白名单可以是当前访问的应用程序中预设的白名单,白名单中的域名可以是ios系统默认预置的域名,不同的ios系统中默认预置的域名通常是相同的,因
此这些域名可以通过对使用ios系统的电子设备进行调研获得并写入应用程序中;或者,网页访问白名单也可以是ios系统中的白名单,白名单中包含两类域名,一类是ios系统默认预置的域名,另一类是用户添加的或授权应用程序添加的白名单,因此不同用户的不同ios设备,网页访问白名单通常是不同的。
45.需要说明的是,网页访问白名单中可以是能够通过网页访问限制的验证的域名,也可以是能够通过网页访问限制的验证的其他url,本公开对此不作限制。
46.为了保护电子设备的安全性,用户可以开启ios系统的网页访问限制功能,来防止加载部分h5网页,比如,用户可以通过ios系统的设置页面开启网页访问限制功能。当用户开启了该功能后,在加载h5网页时,ios系统会基于预设的网页访问白名单对待加载h5网页的url进行验证,验证通过后才加载h5网页对应的资源内容,以展示h5网页内容。如果验证未通过,则拒绝加载h5网页的内容,并返回网页访问受限的提示码。
47.本公开实施例中,当用户开启了电子设备中ios系统的网页访问限制功能时,在加载待访问的h5网页对应的url时,会根据预设的网页访问白名单对待访问的url进行验证,如果验证通过则加载该url对应的资源以展示h5网页的网页内容。如果验证未通过,则确定url受到网页访问限制,可以根据网页访问白名单,生成许可url。
48.示例性地,假设网页访问白名单中记录的是能够通过网页访问限制的验证的其他url,则在生成许可url时,可以从网页访问白名单中随机选择一个url来作为许可url。
49.示例性地,假设网页访问白名单中记录的是能够通过网页访问限制的验证的域名,则在生成许可url时,可以将待访问的url中的域名替换为网页访问白名单中的任意域名,将域名替换后的url作为许可url。
50.其中,上述示例中,网页访问白名单可以是应用程序中预置的,也可以是ios系统的,当网页访问白名单为ios系统的白名单时,可以在获得用户授权的情况下进行访问。
51.能够理解的是,由于许可url是根据网页访问白名单生成的,网页访问白名单中记录的是能够通过网页访问限制的url或域名,因此生成的许可url也能通过网页访问白名单的验证。
52.步骤103,加载所述许可url。
53.本公开实施例中,生成许可url之后,可以加载该许可url。
54.示例性地,可以使用已配置urlschemehandler的wkwebview加载许可url。
55.步骤104,在所述许可url加载成功的情况下,获取与所述url对应的目标网页资源。
56.由于许可url是根据网页访问白名单生成的,能够通过网页访问限制的验证,因此本公开实施例中,加载许可url,能够加载成功。进而,在许可url加载成功的情况下,可以获取与待访问的url对应的目标网页资源。由于许可url是为了通过网页访问限制生成的,无法获取到需要加载的真实的网页资源,因此本公开实施例中,在验证通过后,使用原待访问的url来获取对应的目标网页资源,该目标网页资源为与待访问的h5网页匹配的资源内容。
57.示例性地,获取与url对应的目标网页资源,可以是在验证通过后使用url下载对应的网页资源,也可以是预先将应用程序中涉及的所有h5网页的网页资源内置或提前下载到指定路径下,在验证通过后根据url从指定路径中获取匹配的网页资源作为目标网页资源,本公开对此不作限制。
58.步骤105,加载所述目标网页资源,以展示所述h5网页的网页内容。
59.本公开实施例中,获取了与url对应的目标网页资源后,加载该目标网页资源,以展示待访问的h5网页的网页内容,使得h5网页在用户开启了网页访问功能的情况下仍能成功加载。
60.本公开实施例的ios系统中h5网页的加载方法,通过获取并加载待访问的h5网页对应的统一资源定位符url,在确定url受到网页访问限制的情况下,根据ios系统中预设的网页访问白名单,生成许可url并加载许可url,在许可url加载成功的情况下,获取与url对应的目标网页资源并加载目标网页资源,以展示h5网页的网页内容。采用本公开的方案,通过根据ios系统中预设的网页访问白名单生成许可url并加载,使得许可url能够通过网页访问限制的验证,进而获取与url对应的目标网页资源进行加载,实现了h5网页内容的成功加载,有效解决了因网页访问限制导致h5网页内容无法加载的问题,提升了h5网页加载的成功率。
61.在本公开的一种可选实施方式中,所述网页访问白名单中包括能够通过网页访问限制的验证的至少一个域名,从而,本公开实施例中,所述根据所述ios系统中预设的网页访问白名单,生成许可url,可以包括:
62.从所述网页访问白名单中获取目标域名,所述目标域名为所述至少一个域名中的一个;
63.将所述url中的初始域名替换为所述目标域名,生成所述许可url。
64.本公开实施例中,网页访问白名单中记录的是至少一个域名,在确定待访问的url受到网页访问限制的情况下,可以从网页访问白名单中获取一个域名作为目标域名。
65.示例性地,可以从网页访问白名单中随机地选择一个域名作为目标域名,比如选择域名www.apple.com作为目标域名。
66.示例性地,可以从按照顺序从网页访问白名单中选择一个域名作为目标域名。具体地,对于网页访问白名单中的每个域名,可以记录最近一次被选择为目标域名的发生时间,当再次从网页访问白名单中选择目标域名时,可以先获取当前时间,并根据当前时间确定出网页访问白名单中最近一次选择的候选域名,其中,发生时间距离当前时间最近的域名即为最近一次选择的候选域名,接着从至少一个域名中选择位于候选域名之后的一个域名作为目标域名。如果候选域名为网页访问白名单中的最后一个域名,则选择网页访问白名单中的第一个域名作为目标域名。如果网页访问白名单中仅包含一个域名,即候选域名,则将候选域名确定为目标域名。
67.接着,获取了目标域名之后,可以将待访问的url中的域名(称为初始域名)替换为目标域名,得到新的url,将该新生成的url作为许可url。
68.由于许可url中包含的域名是网页访问白名单中的域名,因此在进行网页访问限制的验证时,可以确定许可url中的域名包含在网页访问白名单中,则许可url通过网页访问限制的验证,从而规避了再次发生因网页访问限制的验证未通过而导致的加载错误情况。
69.在本公开实施例中,通过从包含至少一个域名的网页访问白名单中获取目标域名,并将url中的初始域名替换为目标域名,生成许可url,使得许可url中的域名能够通过网页访问限制的验证,为成功加载h5网页奠定了基础。
70.在本公开的一种可选实施方式中,在加载目标网页资源以展示h5网页的网页内容之后,还可以向用户展示是否信任所述h5网页的提示消息,并在接收到所述用户信任所述h5网页的反馈消息的情况下,判断是否获得所述网页访问白名单的访问授权,响应于获得所述访问授权,从所述url中获取所述初始域名,进而将所述初始域名添加至所述网页访问白名单中。
71.其中,网页访问白名单的访问授权可以由用户对应用程序进行授权,获得访问授权的应用程序可以调取ios系统的网页访问白名单,并可以对网页访问白名单进行修改,比如向网页访问白名单中添加域名、删除网页访问白名单中的至少一个域名等。
72.示例性地,可以在用户开启网页访问限制功能时,询问用户是否开启应用程序对网页访问白名单的访问授权。比如,当用户将ios系统提供的网页访问限制功能的开关设置为开启状态时,可以将电子设备中安装的应用程序的列表展示给用户,并为每个应用程序设置对应的开关,用于开启网页访问白名单的访问授权,在显示应用程序列表时,可以同时显示提示消息如“选择允许访问网页访问白名单的应用程序”,以提示用户从应用程序列表中选择出允许访问网页访问白名单的应用程序。当用户将某个应用程序对应的开关设置为开启状态时,则该应用程序获得网页访问白名单的访问授权。从而,本公开实施例中,可以通过检测网页访问限制功能下应用程序对应的开关的状态来判断应用程序是否获得网页访问白名单的访问授权,如果开关的状态为开启则确定获得访问授权,如果开关的状态为关闭则确定未获得访问授权。
73.电子设备中成功显示出h5网页的网页内容之后,ios系统中h5网页的加载装置还可以向用户展示是否信任该h5网页的提示消息。示例性地,如图2所示,可以在h5网页内容的显示页面中,通过弹窗的形式展示提示消息“是否信任该网页?”,以及展示信任该网页的相关解释信息,如“信任后,下次将能直接访问该网页的内容”,并提供“是”和“否”两个选项供用户选择。弹窗的显示不影响用户浏览h5网页内容,用户可以通过浏览h5网页内容判断当前展示的h5网页的网页内容是否与当前使用的应用程序的内容相匹配,比如在用户使用全真在线教育应用程序时,判断当前展示的h5网页内容是否与教师发送的互动内容相匹配,并在确定内容匹配时,用户可以选择“是”按钮来表示信任该网页。在接收到用户信任当前展示的h5网页的反馈消息后,可以进一步判断应用程序是否获得网页访问白名单的访问授权,如果确定应用程序获得网页访问白名单的访问授权,则ios系统中h5网页的加载装置从h5网页对应的url中获取其中的域名(即初始域名),并将获取的初始域名添加在网页访问白名单中。
74.本公开实施例中,通过在展示h5网页的网页内容之后,向用户展示是否信任h5网页的提示消息,并在接收到用户信任h5网页的反馈消息的情况下,进一步判断是否获得网页访问白名单的访问授权,响应于获得访问授权,从url中获取初始域名,进而将初始域名添加至网页访问白名单中,由此,实现了对网页访问白名单的更新,使得在用户再次加载该h5网页时,该h5网页的url能够直接通过网页访问限制的验证,进而成功加载h5网页,而无需再次进行域名替换,从而避免了对同一url进行多次域名替换的操作,有利于提高h5网页的加载效率。
75.当通过域名替换的方式生成许可url时,原url被破坏,为了保证能够准确获取到待访问的h5网页的网页资源,在本公开的一种可选实施方式中,在对原url进行域名替换生
成许可url之前,可以先对原来的待访问的url进行备份,再对原url进行域名替换生成许可url,并在许可url通过验证后,获取备份的url,并利用备份的url获取h5网页的目标网页资源。
76.在本公开的另一种可选实施方式中,在获取与url对应的目标网页资源之前,还可以先获取本地缓存的所述初始域名,进而将所述许可url中的所述目标域名替换为所述初始域名,以还原出所述url。
77.本公开实施例中,在将待访问的url中的初始域名替换为目标域名之前,可以先从待访问的url中获取出其中的初始域名,并将获取的初始域名缓存在本地缓存中。之后,将待访问的url中的初始域名替换为目标域名,生成许可url用于网页访问限制的验证,并在验证通过后,从本地缓存中获取出之前缓存的初始域名,并将许可url中的目标域名替换为初始域名,从而还原出待访问的url,即真实的url。
78.示例性地,使用已配置urlschemehandler的wkwebview加载许可url,替换为网页访问白名单中的目标域名的许可url可以通过电子设备的网页访问限制的验证,接着,wkwebview加载就可以进入urlschemehandler的处理程序,在urlschemehandler中,将许可url中的目标域名替换为初始域名,即可还原真实的url,以加载真实url对应的目标网页资源。
79.在本公开实施例中,通过获取本地缓存的初始域名,并将许可url中的目标域名替换为初始域名,以还原出url,由此,实现了原url的还原,为获取h5网页对应的网页资源奠定了基础。
80.通常,在用户开启了ios系统的网页访问限制功能的情况下,当使用wkwebview加载某一个h5网页时,系统会先判断当前是否开启了网页访问限制功能,如果确定开启了该功能,则系统会接着判断网页访问限制的网页访问白名单中是否包含了待访问的h5网页的url所在的域名,如果网页访问白名单中未包含该域名,此时会出现无法正常加载的问题,该问题所对应的加载错误码为105。从而,在本公开的一种可选实施方式中,所述确定所述url受到网页访问限制,包括:
81.在所述url加载失败的情况下,判断所述url加载失败的加载错误码是否为目标错误码;
82.在所述加载错误码为所述目标错误码的情况下,确定所述url受到网页访问限制。
83.其中,目标错误码为预先设置的,目标错误码用于表示加载失败的原因是因为受到了网页访问限制导致加载失败。目标错误码可以设置为105,105即为系统wkwebview在受到网页访问限制时返回的错误码。
84.本公开实施例中,ios系统加载待访问的url,并监测加载结果,即监测wkwebview的加载状态是否成功,如果wkwebview加载失败,则确定url加载失败,此时进一步判断url加载失败的加载错误码是否为目标错误码,若确定加载错误码为目标错误码,则确定url受到网页访问限制,导致url加载失败,这种情况下,可以根据ios系统中预设的网页访问白名单,生成许可url,以利用许可url通过网页访问限制。
85.另外,如果确定加载错误码不是目标错误码,则可以根据加载错误码所指示的错误类型,采取相应的处理措施进行处理。
86.在本公开实施例中,通过在url加载失败的情况下,判断url加载失败的加载错误
码是否为目标错误码,并在加载错误码为目标错误码的情况下,确定url受到网页访问限制,由此,能够识别出url加载失败的原始是否是因为网页访问限制导致的,以便采取对应的处理措施。
87.在本公开的一种可选实施方式中,可以将不同的h5网页资源预先存储在本地的预设路径下,其中,所述预设路径中存储有不同的url与对应的h5网页资源的映射关系。
88.其中,不同的h5网页是指同一应用程序中涉及的h5网页,比如,同一全真在线教育app中涉及的所有h5网页,将各h5网页的url与对应h5网页的网页资源的映射关系,存储在预设路径中,其中,预设路径是电子设备的本地存储空间中该app的安装路径下的某条路径,可以在电子设备中安装该app时将不同的url与对应的h5网页资源的映射关系存入本地的预设路径下。
89.从而,本公开实施例中,所述获取与所述url对应的目标网页资源,包括:
90.根据所述url,查询所述预设路径中不同的url与对应的h5网页资源的映射关系,以从所述预设路径中获取与所述url对应的h5网页资源,作为所述目标网页资源。
91.本公开实施例中,在许可url通过网页访问限制的验证后,可以根据待访问的url,从预设路径中获取与url对应的h5网页资源,作为目标网页资源。由于预设路径中的h5网页资源是预先存储的,根据url从预设路径中直接获取url对应的目标网页资源,能够提高网页资源的获取速度,从而提高h5网页的加载速度。
92.在本公开的一种可选实施方式中,所述方法还包括:确定用户开启了所述ios系统中的网页访问限制功能。
93.示例性地,系统可以通过检测网页访问限制对应的开关按钮是否为开启状态,来确定ios系统是否开启了网页访问限制功能。
94.在本公开实施例中,通过在确定用户开启了ios系统中的网页访问限制功能后,才执行本公开的方案,约定了本方案的执行条件,避免了在用户未开启网页访问限制功能时也对网页的url进行处理导致的处理资源浪费,以及影响网页加载速度。
95.图3示出了根据本公开另一示例性实施例的ios系统中h5网页的加载方法的流程图。如图3所示,在步骤300中,对于待访问的h5网页,预设路径中预先存储(通过内置或预先下载的方式)待访问的h5网页的网页资源;在步骤301中,针对待访问的h5网页,在wkwebview的urlschemehandler进行域名注册配置,之后执行步骤302,访问待访问的h5网页对应的初始url。之后,执行步骤303,使用已配置urlschemehandler的wkwebview加载url,之后,执行步骤304。在步骤304中,判断wkwebview的加载状态是否为失败,若失败,则执行步骤305,否则,执行步骤306。其中,在步骤305中,判断url是否被网页访问限制,即判断wkwebview的加载错误码是否为目标错误码105,若是,则执行步骤307,否则,执行步骤308。在步骤306中,通过urlschemehandler加载预设路径中与url对应的目标网页资源,待访问的h5网页加载成功(步骤310)。在步骤307中,从网页访问白名单中获取目标域名,并将初始url中的初始域名替换为目标域名,生成许可url。之后执行步骤309,访问许可url,并继续执行步骤303。能够理解的是,在步骤303中,首次加载的url是待访问的h5网页对应的初始url,在进行域名替换后,加载的url为域名替换生成的许可url。另外,在步骤306中,如果未进行域名替换的初始url直接加载成功,则直接根据初始url确定对应的目标网页资源;如果进行域名替换后才加载成功,则需要先进行url还原,即将许可url中的目标域名替
换为之前的初始域名,得到原初始url,再利用初始url确定对应的目标网页资源。在步骤308中,wkwebview的加载错误码不是目标错误码105,则可以根据加载错误码所指示的错误类型,选择对应的处理措施进行处理。采用本公开的方案,通过对受到网页访问限制而加载失败的url进行域名替换以通过网页访问限制的验证,进而获取与url对应的目标网页资源进行加载,实现了h5网页内容的成功加载,有效解决了因网页访问限制导致h5网页内容无法加载的问题,提升了h5网页加载的成功率。
96.本公开示例性实施例还提供了一种ios系统中h5网页的加载装置。图4示出了根据本公开示例性实施例的ios系统中h5网页的加载装置的示意性框图,如图4所示,该ios系统中h5网页的加载装置20包括:地址加载模块201、生成模块202、资源获取模块203和资源加载模块204。
97.其中,地址加载模块201,用于获取并加载待访问的h5网页对应的统一资源定位符url;
98.生成模块202,用于在确定所述url受到网页访问限制的情况下,根据所述ios系统中预设的网页访问白名单,生成许可url;
99.所述地址加载模块201,还用于加载所述许可url;
100.资源获取模块203,用于在所述许可url加载成功的情况下,获取与所述url对应的目标网页资源;
101.资源加载模块204,用于加载所述目标网页资源,以展示所述h5网页的网页内容。
102.可选地,所述网页访问白名单中包括能够通过网页访问限制的验证的至少一个域名,所述生成模块202,包括:
103.获取单元,用于从所述网页访问白名单中获取目标域名,所述目标域名为所述至少一个域名中的一个;
104.替换单元,用于将所述url中的初始域名替换为所述目标域名,生成所述许可url。
105.可选地,所述网页访问白名单中还包括所述至少一个域名中的每个域名最近一次被选择的发生时间;所述获取单元,还用于:
106.获取当前时间;
107.根据所述当前时间,从所述至少一个域名中确定出所述发生时间距离所述当前时间最近的域名作为候选域名;
108.从所述至少一个域名中选择位于所述候选域名之后的一个域名作为目标域名。
109.可选地,所述ios系统中h5网页的加载装置20,还包括:
110.发送模块,用于向用户展示是否信任所述h5网页的提示消息;
111.判断模块,用于在接收到所述用户信任所述h5网页的反馈消息的情况下,判断是否获得所述网页访问白名单的访问授权;
112.域名获取模块,用于响应于获得所述访问授权,从所述url中获取所述初始域名;
113.更新模块,用于将所述初始域名添加至所述网页访问白名单中。
114.可选地,所述ios系统中h5网页的加载装置20,还包括:
115.获取模块,用于获取本地缓存的所述初始域名;
116.替换模块,用于将所述许可url中的所述目标域名替换为所述初始域名,以还原出所述url。
117.可选地,所述ios系统中h5网页的加载装置20,还包括:
118.判定模块,用于在所述url加载失败的情况下,判断所述url加载失败的加载错误码是否为目标错误码;在所述加载错误码为所述目标错误码的情况下,确定所述url受到网页访问限制。
119.可选地,所述ios系统中h5网页的加载装置20,还包括:
120.存储模块,用于将不同的h5网页资源预先存储在本地的预设路径下,其中,所述预设路径中存储有不同的url与对应的h5网页资源的映射关系;
121.并且其中,所述资源获取模块203,还用于:
122.根据所述url,查询所述预设路径中不同的url与对应的h5网页资源的映射关系,以从所述预设路径中获取与所述url对应的h5网页资源,作为所述目标网页资源。
123.可选地,所述ios系统中h5网页的加载装置20,还包括:
124.确定模块,用于确定用户开启了所述ios系统中的网页访问限制功能。
125.本公开实施例所提供的ios系统中h5网页的加载装置,可执行本公开实施例所提供的任意可应用于电子设备的ios系统中h5网页的加载方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
126.本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的ios系统中h5网页的加载方法。
127.本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的ios系统中h5网页的加载方法。
128.本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的ios系统中h5网页的加载方法。
129.参考图5,现将描述可以作为本公开的服务器或客户端的电子设备1100的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
130.如图5所示,电子设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
131.电子设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106、输出单元
1107、存储单元1108以及通信单元1109。输入单元1106可以是能向电子设备1100输入信息的任何类型的设备,输入单元1106可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1107可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1108可以包括但不限于磁盘、光盘。通信单元1109允许电子设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
132.计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理。例如,在一些实施例中,ios系统中h5网页的加载方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到电子设备1100上。在一些实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行ios系统中h5网页的加载方法。
133.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
134.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
135.如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
136.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
137.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
138.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1