本公开涉及网络技术领域,尤其涉及一种页面加载方法及装置。
背景技术:
随着网络技术的发展,很多应用均具有页面加载功能以使用户能够在应用中进行页面浏览。通常应用页面的实现代码存储在服务器端,应用通过内置浏览器从服务器加载相应的页面。然而,该种页面加载方式的加载速度较慢,无法满足用户越来越高的页面加载速度的需求。
相关技术中,为了满足用户对页面加载速度的要求,在开发应用时,采用本地代码来实现应用所包括的每个页面,也即是,将应用所包括的每个页面的实现代码封装到应用的安装包中,使得应用在运行的过程中,可直接调用本地代码以加载页面,而无需从服务器加载相应的页面,保证了页面加载的速度。
技术实现要素:
为克服相关技术中存在的问题,本公开提供一种页面加载方法及装置,所述技术方案如下:
根据本公开实施例的第一方面,提供一种页面加载方法,所述方法包括:
在启动应用时,从服务器获取所述应用的指定页面列表,所述指定页面列表中包括所述应用的指定页面的页面地址,所述指定页面的页面代码存储于所述应用本地;
当接收到页面加载请求时,判断所述指定页面列表中是否包括待加载页面的页面地址,所述页面加载请求中携带所述待加载页面的页面地址;
如果所述指定页面列表中不包括所述待加载页面的页面地址,则根据所述页面加载请求,从服务器加载所述待加载页面;
如果所述指定页面列表中包括所述待加载页面的页面地址,则从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面。
在一种可能的实现方式中,所述指定页面列表中还包括所述指定页面的页面标识,所述指定页面的页面标识与所述指定页面的页面地址一一对应,
相应地,如果所述指定页面列表中包括所述待加载页面的页面地址,则从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面包括:
根据所述待加载页面的页面地址,从所述指定页面列表中,获取与所述待加载页面的页面地址对应的所述待加载页面的页面标识;
根据所述待加载页面的页面标识,从本地存储的页面代码中,获取所述待加载页面的页面代码,所述应用本地存储有页面代码以及对应的页面标识;
加载所述待加载页面的页面代码。
在一种可能的实现方式中,所述根据所述页面加载请求,从服务器加载所述待加载页面包括:
通过所述应用的内置浏览器,向所述服务器发送所述页面加载请求,由所述服务器根据所述页面加载请求携带的所述待加载页面的页面地址返回所述待加载页面;
接收所述服务器返回的所述待加载页面;
对所述待加载页面进行加载。
在一种可能的实现方式中,所述指定页面列表还包括所述指定页面列表的版本信息,所述方法还包括:
如果所述指定页面列表中包括所述待加载页面的页面地址,判断所述指定页面列表的版本信息与所述应用的版本信息是否一致;
如果所述指定页面列表的版本信息与所述应用的版本信息一致,则执行从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面的步骤;
如果所述指定页面列表的版本信息与所述应用的版本信息不一致,则执行根据所述页面加载请求,从服务器加载所述待加载页面的步骤。
在一种可能的实现方式中,所述从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面之后,所述方法还包括:
在所述待加载页面的页面代码的运行过程中,如果检测到所述待加载页面的本地代码的报错信息,则执行根据所述页面加载请求,从服务器加载所述待加载页面的步骤。
根据本公开实施例的第二方面,提供一种页面加载装置,所述装置包括:
获取模块,用于在启动应用时,从服务器获取所述应用的指定页面列表,所述指定页面列表中包括所述应用的指定页面的页面地址,所述指定页面的页面代码存储于所述应用本地;
判断模块,用于当接收到页面加载请求时,判断所述指定页面列表中是否包括待加载页面的页面地址,所述页面加载请求中携带所述待加载页面的页面地址;
加载模块,用于如果所述指定页面列表中不包括所述待加载页面的页面地址,则根据所述页面加载请求,从服务器加载所述待加载页面;
所述加载模块用于如果所述指定页面列表中包括所述待加载页面的页面地址,则从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面。
在一种可能的实现方式中,所述指定页面列表中还包括所述指定页面的页面标识,所述指定页面的页面标识与所述指定页面的页面地址一一对应,
相应地,所述加载模块用于根据所述待加载页面的页面地址,从所述指定页面列表中,获取与所述待加载页面的页面地址对应的所述待加载页面的页面标识;根据所述待加载页面的页面标识,从本地存储的页面代码中,获取所述待加载页面的页面代码,所述应用本地存储有页面代码以及对应的页面标识;加载所述待加载页面的页面代码。
在一种可能的实现方式中,所述加载模块用于通过所述应用的内置浏览器,向所述服务器发送所述页面加载请求,由所述服务器根据所述页面加载请求携带的所述待加载页面的页面地址返回所述待加载页面;接收所述服务器返回的所述待加载页面;对所述待加载页面进行加载。
在一种可能的实现方式中,所述指定页面列表还包括所述指定页面列表的版本信息,
所述判断模块还用于如果所述指定页面列表中包括所述待加载页面的页面地址,判断所述指定页面列表的版本信息与所述应用的版本信息是否一致;
所述加载模块还用于如果所述指定页面列表的版本信息与所述应用的版本信息一致,则执行从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面的步骤;
所述加载模块还用于如果所述指定页面列表的版本信息与所述应用的版本信息不一致,则执行根据所述页面加载请求,从服务器加载所述待加载页面的步骤。
在一种可能的实现方式中,所述加载模块还用于在所述待加载页面的页面代码的运行过程中,如果检测到所述待加载页面的本地代码的报错信息,则执行根据所述页面加载请求,从服务器加载所述待加载页面的步骤。
根据本公开实施例的第三方面,提供一种页面加载装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:在启动应用时,从服务器获取所述应用的指定页面列表,所述指定页面列表中包括所述应用的指定页面的页面地址,所述指定页面的页面代码存储于所述应用本地;当接收到页面加载请求时,判断所述指定页面列表中是否包括待加载页面的页面地址,所述页面加载请求中携带所述待加载页面的页面地址;如果所述指定页面列表中不包括所述待加载页面的页面地址,则根据所述页面加载请求,从服务器加载所述待加载页面;如果所述指定页面列表中包括所述待加载页面的页面地址,则从所述应用本地调用所述待加载页面的页面代码以加载所述待加载页面。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过从服务器获取应用的指定页面列表,可以明确获知应用的哪些页面可以从应用本地加载,哪些页面需要从服务器加载,使得在应用开发的过程中,可以将时效要求较高的功能采用本地代码实现,将时效要求较低的功能采用服务器端的代码实现,不必所有页面代码均采用本地代码实现,在保证了页面加载效率的同时,缩短了开发周期。进一步,当业务需求发生变化时,可先在服务器端实现相应页面代码,以便应用能够及时更新以满足业务的变化需求。待相应页面的本地代码开发完成后,再进行本地代码的更新,使得应用能够快速迭代上线,提高了更新效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种页面加载方法的流程图。
图2是根据一示例性实施例示出的一种页面加载方法的流程图。
图3是根据一示例性实施例示出的一种页面加载装置的框图。
图4是根据一示例性实施例示出的一种页面加载装置的框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种页面加载方法的流程图,如图1所示,该方法用于移动终端中,包括以下步骤:
在步骤101中,在启动应用时,从服务器获取应用的指定页面列表,指定页面列表中包括应用的指定页面的页面地址,指定页面的页面代码存储于应用本地。
在步骤102中,当接收到页面加载请求时,判断指定页面列表中是否包括待加载页面的页面地址,该页面加载请求中携带待加载页面的页面地址。如果不包括,则执行步骤103;如果包括,则执行步骤104。
在步骤103中,如果指定页面列表中不包括待加载页面的页面地址,则根据页面加载请求,从服务器加载待加载页面。
在步骤104中,如果指定页面列表中包括待加载页面的页面地址,则从应用本地调用待加载页面的页面代码以加载待加载页面。
本公开实施例提供的方法,通过从服务器获取应用的指定页面列表,可以明确获知应用的哪些页面可以从应用本地加载,哪些页面需要从服务器加载,使得在应用开发的过程中,可以将时效要求较高的功能采用本地代码实现,将时效要求较低的功能采用服务器端的代码实现,不必所有页面代码均采用本地代码实现,在保证了页面加载效率的同时,缩短了开发周期。进一步,当业务需求发生变化时,可先在服务器端实现相应页面代码,以便应用能够及时更新以满足业务的变化需求。待相应页面的本地代码开发完成后,再进行本地代码的更新,使得应用能够快速迭代上线,提高了更新效率。
在一种可能的实现方式中,指定页面列表中还包括指定页面的页面标识,指定页面的页面标识与指定页面的页面地址一一对应,
相应地,如果指定页面列表中包括待加载页面的页面地址,则从应用本地调用待加载页面的页面代码以加载待加载页面包括:
根据待加载页面的页面地址,从指定页面列表中,获取与待加载页面的页面地址对应的待加载页面的页面标识;
根据待加载页面的页面标识,从本地存储的页面代码中,获取待加载页面的页面代码,应用本地存储有页面代码以及对应的页面标识;
加载待加载页面的页面代码。
在一种可能的实现方式中,根据页面加载请求,从服务器加载待加载页面包括:
通过应用的内置浏览器,向服务器发送页面加载请求,由服务器根据页面加载请求携带的待加载页面的页面地址返回待加载页面;
接收服务器返回的待加载页面;
对待加载页面进行加载。
在一种可能的实现方式中,指定页面列表还包括指定页面列表的版本信息,方法还包括:
如果指定页面列表中包括待加载页面的页面地址,判断指定页面列表的版本信息与应用的版本信息是否一致;
如果指定页面列表的版本信息与应用的版本信息一致,则执行从应用本地调用待加载页面的页面代码以加载待加载页面的步骤;
如果指定页面列表的版本信息与应用的版本信息不一致,则执行根据页面加载请求,从服务器加载待加载页面的步骤。
在一种可能的实现方式中,从应用本地调用待加载页面的页面代码以加载待加载页面之后,方法还包括:
在待加载页面的页面代码的运行过程中,如果检测到待加载页面的本地代码的报错信息,则执行根据页面加载请求,从服务器加载待加载页面的步骤。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种页面加载方法的流程图,如图2所示,该方法用于终端中,包括以下步骤:
在步骤201中,在启动应用时,从服务器获取应用的指定页面列表,该指定页面列表中包括应用的指定页面的页面地址,指定页面的页面代码存储于应用本地。
在本公开实施例中,移动终端上安装有应用,该应用可为社交类应用(如即时通讯类应用等)、电子商务类应用等,本公开实施例对此不作具体限定。对于任一应用均包括多个的功能,每个功能对应一个或多个页面。比如,支付功能对应支付页面和支付成功页面等。
在应用开发的过程中,可通过下述方式实现应用的功能:
第一种实现方式,采用本地代码的方式实现,也即是,将功能对应页面的页面代码包含在应用的安装包内,使得功能对应页面的页面代码存储于应用本地。
针对第一种实现方式,可通过调用本地代码的方式来加载页面。具体地,移动终端可直接通过调用本地代码进行页面加载,并且在页面加载的过程中使用本地Native进行页面渲染,页面加载速度快。
第二种实现方式,采用服务器端的页面代码实现,也即是,将功能对应页面的页面代码存储于服务器端,通过应用的内置浏览器访问服务器存储的页面代码,以实现相应的功能。该种方式实现的是功能的web版。
针对第二种实现方式,可通过应用的内置浏览器从服务器加载页面。具体地,移动终端根据内置浏览器获取的页面地址,从服务器获取相应的页面代码,进而实现页面加载。并且,在页面加载的过程中使用内置浏览器进行页面渲染,相比于调用本地代码加载的方式来说加载速度较慢。
由于上述第一种实现方式相比于上述第二种实现方式来说,开发难度大、周期长。因此,为了缩短开发周期,同时满足用户对应用的页面加载速度的需求,可将应用中对加载速度要求较高的页面采用本地代码的方式实现,比如支付页面等;将对加载速度要求不是很高的页面采用服务器端的页面代码实现。
需要说明的是,对于采用本地代码实现的页面,服务器可对其进行记录,记录的内容包括:页面的页面地址与页面标识的一一对应关系。其中,页面地址是指用于访问页面的网页链接。页面标识可以为页面文件的文件名,比如“abc.html”;该页面标识还可以为页面文件相对于应用安装包的存储路径等,比如,应用安装包名称为app1,则页面的页面标识可为“app1\abc.html”,本公开实施例对页面标识的具体表示方式不作具体限定。
根据上述记录的页面地址与页面标识的一一对应关系,服务器可生成应用的指定页面列表,该指定页面列表用于指示移动终端应用对应的哪些页面的页面代码存储于本地,以便移动终端可直接从本地调用该应用的页面代码以进行页面加载。
其中,服务器可对指定页面列表中包含的对应关系进行灵活配置,比如,根据实际需求对指定页面列表中所包含的对应关系进行添加、删除、修改等。在本公开实施例中采用本地代码实现的页面,也可在服务器端存储相应的页面代码,也即是,即可通过本地代码加载该页面,也可从服务器加载该页面。在具体实施时,究竟采用哪种方式加载该页面,可由服务器根据实际业务需求进行配置,其中,需要采用本地代码加载时,可将该页面的页面地址与页面标识对应关系添加到指定页面列表中,需要从服务器加载该页面时,可不将相应的对应关系添加到指定页面列表中。比如,页面A对加载速度的要求较高,且本地代码为其最新版本时,便将其页面地址与页面标识添加到指定页面列表中,如果页面A的本地代码为旧版本,而服务器端有更新的版本,便可将其页面地址与页面标识从指定页面列表中删除。也即是,对于本地代码实现的页面,指定页面列表中可包含其页面地址和页面标识的对应关系,也可不包含该对应关系,提高了页面加载的灵活性。
在本公开实施例中,移动终端从服务器获取应用的指定页面列表的时机可以为,在检测到应用启动时获取,或者按照预设周期从服务器获取,或者由服务器在更新指定页面列表后,直接将更新后的指定页面列表发生至终端,本公开实施例对此不作具体限定。其中,预设周期可由服务器进行预先设定或修改,本公开实施例对此不作具体限定。
其中,移动终端可以通过预设接口从服务器获取指定页面列表,该预设接口可由服务器进行预先设置或修改,或由开发人员在应用开发时进行设定等,本公开实施例对此不作具体限定。
在步骤202中,当接收到页面加载请求时,判断指定页面列表中是否包括待加载页面的页面地址,该页面加载请求中携带待加载页面的页面地址。如果不包括,则执行步骤203;如果包括,则执行步骤204。
当应用检测到页面加载的触发操作时,生成页面加载请求,该页面加载请求中携带待加载页面的页面地址,之后,将该页面加载请求发送给移动终端。移动终端接收到页面加载请求后,根据获取的指定页面列表,判断该指定页面列表中是否包括待加载页面的页面地址,以便确定该待加载页面的加载方式。
具体实施时,可在应用的内置浏览器中增加页面拦截单元,该页面拦截单元用于判断指定页面列表中是否包括待加载页面的页面地址。具体地,移动终端从服务器获取到指定页面列表后,可将指定页面列表存储至页面拦截单元中;或者,移动终端将指定页面列表存储至预设路径中,并将该预设路径配置到页面拦截单元中,以使页面拦截单元能够获取到该指定页面列表。当移动终端接收到页面加载请求时,将该页面加载请求传递至页面拦截单元,由页面拦截单元完成判断指定页面列表中是否包括待加载页面的页面地址的步骤。也即是,对于任一待加载页面,均需要预先经过内置浏览器的拦截单元进行检测,根据指定页面列表中是否包括待加载页面的页面地址的检测结果,来确定页面加载方式。
需要说明的是,在存储指定页面列表时,可采用缓存的方式对该指定页面列表进行存储。当移动终端从服务器获取到新的指定页面列表后,便覆盖之前存储的指定页面列表。由于应用包括的功能在不断更新,使得指定页面列表中的内容也会不断更新,因此移动终端缓存的指定页面列表很可能在短时间内便会过期,为了避免移动终端存储资源的浪费,移动终端检测到该应用退出运行时清除存储的指定页面列表;或者向用户显示清除的提醒消息,由用户进行手动清除等,本公开实施例对此不作具体限定。
在步骤203中,如果指定页面列表中不包括待加载页面的页面地址,则根据页面加载请求,从服务器加载待加载页面。
当移动终端确定指定页面列表中不包括待加载页面的页面地址时,确定该待加载页面需要通过应用的内置浏览器从服务器加载。也即是,该待加载页面的页面代码存储于服务器端,移动终端从服务器获取相应的页面代码以加载该待加载页面,加载过程可以为:移动终端通过应用的内置浏览器,向服务器发送页面加载请求,由服务器根据页面加载请求携带的待加载页面的页面地址返回待加载页面。移动终端接收服务器返回的待加载页面,并对该待加载页面进行加载。
在步骤204中,如果指定页面列表中包括待加载页面的页面地址,判断指定页面列表的版本信息与应用的版本信息是否一致。其中,指定页面列表还包括指定页面列表的版本信息。如果一致,则执行步骤205;如果不一致,则执行步骤206。
其中,指定页面列表中携带版本信息,该版本信息用于指示该指定页面列表所包含页面对应的应用的版本。比如,假如指定页面列表的版本信息为version1,则指示其包含页面对应的应用版本为version1。
在一种实施方式中,移动终端可在确定指定页面列表中包括待加载页面的页面地址后,直接从应用本地调用待加载页面的页面代码以加载待加载页面,以保证页面加载速度。其中,从应用本地调用待加载页面的页面代码以加载待加载页面的过程与下述步骤205同理,在此不再赘述。
例如,假设指定页面列表中包括A、B、C三个页面的页面地址,如果待加载页面为D,则移动终端可确定指定页面列表中不包括待加载页面D的页面地址,因此,移动终端需通过应用的内置浏览器从服务器加载页面D。如果待加载页面为页面A或B或C,则移动终端可从应用本地调用相应的页面代码以进行页面加载。
在一种可能的实现方式中,在另一种实施方式中,对于采用本地代码实现的任一功能来说,当该功能需要更新时,服务器端可先发布该功能的web版,使得服务器端存储有该功能更新版本的页面代码。这样,应用本地存储的页面代码便不再是该功能的最新版页面。为了保证移动终端能够加载最新版本功能对应的页面,以便移动终端能够将应用最新的内容展示给用户,移动终端在从本地调用该待加载页面的页面代码进行页面加载之前,可判断指定页面列表的版本信息与应用的版本信息是否一致,如果一致,则执行步骤205;如果不一致,则确定本地存储的页面不是最新版页面,并执行步骤206。
在步骤205中,如果指定页面列表的版本信息与应用的版本信息一致,则从应用本地调用待加载页面的页面代码以加载待加载页面。
移动终端在确定指定页面列表的版本信息与应用的版本信息一致,确定本地存储的页面代码为最新版本,则直接从应用本地调用待加载页面的页面代码进行页面加载,加载过程可以为:移动终端根据待加载页面的页面地址,从指定页面列表中,获取与待加载页面的页面地址对应的待加载页面的页面标识。之后,根据待加载页面的页面标识,从本地存储的页面代码中,获取待加载页面的页面代码。加载待加载页面的页面代码。其中,应用在本地存储页面代码时,会对应存储该页面代码的页面标识。
在步骤206中,如果指定页面列表的版本信息与应用的版本信息不一致,则根据页面加载请求,从服务器加载待加载页面。
该步骤206中根据页面加载请求,从服务器加载待加载页面的过程与上述步骤203同理,在此不再赘述。
仍以指定页面列表中包括A、B、C三个页面的页面地址为例,其中,指定页面列表的版本信息为version2,如果应用的版本信息也为version2,则待加载页面为页面A时,移动终端可确定本地存储有页面A的最新版页面代码,并直接从应用本地调用页面A的页面代码以加载页面A。如果应用的版本信息为version3,则待加载页面为页面A时,移动终端可确定服务器存储有页面A的新版页面代码,并通过应用的内置浏览器,从服务器加载该页面A。
在另一实施例中,由于移动终端的本地代码对应的文件可能会被损坏,或者本地代码的版本太旧,与应用的版本不兼容,会导致移动终端在调用本地页面代码时发生错误,此时,移动终端会生成报错信息,以便移动终端从服务器加载相应的页面。也即是,移动终端还可在检测到报错信息后,通过应用的内置浏览器从服务器获取该待加载页面,过程可以为:在待加载页面的页面代码的运行过程中,如果检测到待加载页面的本地代码的报错信息,则执行根据页面加载请求,从服务器加载待加载页面的步骤。也即是,当移动终端加载本地代码发生错误时,直接将页面加载方式切换至从服务器加载,以使移动终端能够不间断向用户展示加载的页面,提高了用户粘度。通过在本地代码出现错误时,及时从服务器获取相应的页面,保证了页面加载的有效性。
需要说明的是,终端所安装的应用可具有独立的内置浏览器,也可共享终端提供的内置浏览器,本公开实施例对此不作具体限定。当应用共享终端提供的内置浏览器时,上述步骤中通过应用的内置浏览器实现的步骤,均可由终端的内置浏览器来实现,本公开实施例对内置浏览器的具体存在形式不作具体限定。
本公开实施例提供的方法,通过从服务器获取应用的指定页面列表,可以明确获知应用的哪些页面可以从应用本地加载,哪些页面需要从服务器加载,使得在应用开发的过程中,可以将时效要求较高的功能采用本地代码实现,将时效要求较低的功能采用服务器端的代码实现,不必所有页面代码均采用本地代码实现,在保证了页面加载效率的同时,缩短了开发周期。
进一步,当业务需求发生变化时,可先在服务器端实现相应页面代码,以便应用能够及时更新以满足业务的变化需求。待相应页面的本地代码开发完成后,再进行本地代码的更新,使得应用能够快速迭代上线,提高了更新效率。
图3是根据一示例性实施例示出的一种页面加载装置的框图。参照图3,该装置包括:获取模块301,判断模块302和加载模块303。
其中,获取模块301与判断模块302连接,用于在启动应用时,从服务器获取应用的指定页面列表,指定页面列表中包括应用的指定页面的页面地址,指定页面的页面代码存储于应用本地;判断模块302与加载模块303连接,用于当接收到页面加载请求时,判断指定页面列表中是否包括待加载页面的页面地址,页面加载请求中携带待加载页面的页面地址;加载模块303,用于如果指定页面列表中不包括待加载页面的页面地址,则根据页面加载请求,从服务器加载待加载页面;如果指定页面列表中包括待加载页面的页面地址,则从应用本地调用待加载页面的页面代码以加载待加载页面。
在一种可能的实现方式中,指定页面列表中还包括指定页面的页面标识,指定页面的页面标识与指定页面的页面地址一一对应,
相应地,加载模块303用于根据待加载页面的页面地址,从指定页面列表中,获取与待加载页面的页面地址对应的待加载页面的页面标识;根据待加载页面的页面标识,从本地存储的页面代码中,获取待加载页面的页面代码,应用本地存储有页面代码以及对应的页面标识;加载待加载页面的页面代码。
在一种可能的实现方式中,加载模块303用于通过应用的内置浏览器,向服务器发送页面加载请求,由服务器根据页面加载请求携带的待加载页面的页面地址返回待加载页面;接收服务器返回的待加载页面;对待加载页面进行加载。
在一种可能的实现方式中,指定页面列表还包括指定页面列表的版本信息,
判断模块303还用于如果指定页面列表中包括待加载页面的页面地址,判断指定页面列表的版本信息与应用的版本信息是否一致;
加载模块303还用于如果指定页面列表的版本信息与应用的版本信息一致,则执行从应用本地调用待加载页面的页面代码以加载待加载页面的步骤;
加载模块303还用于如果指定页面列表的版本信息与应用的版本信息不一致,则执行根据页面加载请求,从服务器加载待加载页面的步骤。
在一种可能的实现方式中,加载模块303还用于在待加载页面的页面代码的运行过程中,如果检测到待加载页面的本地代码的报错信息,则执行根据页面加载请求,从服务器加载待加载页面的步骤。
本公开实施例提供的装置,通过从服务器获取应用的指定页面列表,可以明确获知应用的哪些页面可以从应用本地加载,哪些页面需要从服务器加载,使得在应用开发的过程中,可以将时效要求较高的功能采用本地代码实现,将时效要求较低的功能采用服务器端的代码实现,不必所有页面代码均采用本地代码实现,在保证了页面加载效率的同时,缩短了开发周期。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种页面加载装置的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件404,音频组件410,输入/输出(I/O)接口412,传感器组件414,以及通信组件416。
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为装置400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到装置400的打开/关闭状态,组件的相对定位,例如所述组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述页面加载方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述页面加载方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。