浏览器刷新方法和装置、电子设备和计算机可读存储介质与流程

文档序号:26990018发布日期:2021-10-19 20:53阅读:169来源:国知局
浏览器刷新方法和装置、电子设备和计算机可读存储介质与流程

1.本技术属于互联网技术领域,尤其涉及一种浏览器刷新方法和装置、电子设备和计算机可读存储介质。


背景技术:

2.progressive web app(简称为pwa)是一种使用多种技术来增强web app的功能,通过pwa可以使得网站的体验变得更好,且能够模拟一些原生功能,比如通知推送。在移动端利用标准化框架,让网页应用呈现和原生应用相似的体验,例如良好的文件缓存体验和离线查看功能。
3.service worker(服务器与浏览器之间的中间人角色,简称为sw)技术是一项适合于离线缓存项目的技术,sw技术本质上充当web应用程序与浏览器之间的代理服务器,也可以在网络可用时作为浏览器与网络之间的代理。service worker是一个注册在指定源和路径下的事件驱动worker,它采用javascript控制关联的页面或者网站,拦截并修改访问和资源请求,细粒度地缓存资源。如果是非离线应用,使用sw项技术的收益不大。因为非离线应用,每次获取资源文件都是实时通过http获取,静态资源也可以单独做前端缓存。在实际的使用过程中,开启sw的服务每次更新都有痛点,基于sw的更新机制,每次发布新版本都需要刷新两次页面,有些用户并不能接受这个不算友好的更新方式。且如果开启了sw服务,想卸载它,一般需要用户手动清除浏览器缓存,这势必会带来较大的卸载成本。
4.针对上述问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术目的在于提供一种浏览器刷新方法和装置、电子设备和计算机可读存储介质,可以避免在sw存在新版本更新的时候需要对浏览器进行两次刷新的问题。
6.本技术提供一种浏览器刷新方法和装置、电子设备和计算机可读存储介质是这样实现的:
7.一种浏览器刷新方法,所述方法包括:
8.确定目标浏览器中是否已部署服务器与浏览器之间的中间人角色sw;
9.在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
10.在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
11.在一个实施方式中,在确定已部署sw之后,还包括:
12.去除sw的注册代码和service

worker.js文件。
13.在一个实施方式中,在确定已部署sw之后,还包括:
14.在index.html中增加卸载sw的代码;
15.在成功卸载sw的回调事件中增加刷新浏览器的代码。
16.在一个实施方式中,在index.html中增加卸载sw的代码之后,还包括:
17.接收对sw的卸载请求;
18.响应于所述卸载请求,调用并执行index.html中的卸载sw的代码;
19.确认sw是否已成功卸载;
20.在确定已成功卸载的情况下,通过回调事件调用刷新浏览器的代码对所述目标浏览器进行刷新。
21.一种浏览器刷新装置,包括:
22.确定模块,用于确定目标浏览器中是否已部署服务器与浏览器之间的中间人角色sw;
23.设置模块,用于在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
24.触发模块,用于在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
25.在一个实施方式中,上述装置还包括:
26.去除模块,用于在确定已部署sw之后,去除sw的注册代码和service

worker.js文件。
27.在一个实施方式中,上述装置还包括:
28.第一增加模块,用于在确定已部署sw之后,在index.html中增加卸载sw的代码;
29.第二增加模块,用于在成功卸载sw的回调事件中增加刷新浏览器的代码。
30.在一个实施方式中,上述装置还包括:
31.接收模块,用于在index.html中增加卸载sw的代码之后,接收对sw的卸载请求;
32.调用模块,用于响应于所述卸载请求,调用并执行index.html中的卸载sw的代码;
33.确认模块,用于确认sw是否已成功卸载;
34.刷新模块,用于在确定已成功卸载的情况下,通过回调事件调用刷新浏览器的代码对所述目标浏览器进行刷新。
35.一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现如下方法的步骤:
36.确定目标浏览器中是否已部署sw;
37.在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
38.在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
39.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现如下方法的步骤:
40.确定目标浏览器中是否已部署sw;
41.在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
42.在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
43.本技术提供的一种浏览器刷新方法,确定目标浏览器中是否已部署sw,在目标浏览器已经部署了sw的情况下,设置不缓存index.html,并监听sw更新事件;在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。通过设置不缓存index.html,可以保证只需要刷新一次就可以获取更新版本,无需经过两次刷新就可以获取到最新版本。
附图说明
44.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
45.图1是本技术提供的浏览器刷新方法一种实施例的方法流程图;
46.图2是本技术提供的sw更新方法的方法流程图;
47.图3是本技术提供的一种浏览器刷新方法的电子设备的硬件结构框图;
48.图4是本技术提供的一种浏览器刷新装置的结构框图。
具体实施方式
49.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
50.图1是本技术提供的浏览器刷新方法一种实施例的方法流程图。虽然本技术提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本技术实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
51.具体的,如图1所示,上述的浏览器刷新方法可以包括如下步骤:
52.步骤101:确定目标浏览器中是否已部署sw(服务器与浏览器之间的中间人角色);
53.步骤102:在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
54.即,为了保证可以即时获取到新版本的sw,可以监听sw.updated事件,如果监听到更新,那么就触发浏览器立即更新。通过不缓存index.html,使得可以立即获取最新的index.html和相应的js文件。因为,index.html是sw中的缓存文件,此时去除index.html的缓存,可以保证这个版本只需要刷新一次页面就能获取更新版本。
55.步骤103:在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
56.为了保证用户能够及时发现新版本,那么在部署更新sw后,可以立即刷新页面的前端版本,即在获取sw更新后,立即再调用一次浏览器的刷新,通过这个前端版本的设置可以确保用户及时更新到代码文件。
57.在上例中,确定目标浏览器中是否已部署sw,在目标浏览器已经部署了sw的情况下,设置不缓存index.html,并监听sw更新事件;在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。通过设置不缓存index.html,可以保证只需要刷新一次就可以获取更新版本,无需经过两次刷新就可以获取到最新版本。
58.在确定已部署sw之后,可以去除sw的注册代码和service

worker.js文件。即,去
除sw的注册代码和service

worker.js文件,在index.html中注入卸载sw的代码,卸载sw成功的回调中调用刷新浏览器的代码。
59.在实现的时候,在确定已部署sw之后,可以还包括:在index.html中增加卸载sw的代码;在成功卸载sw的回调事件中增加刷新浏览器的代码。具体的,在index.html中增加卸载sw的代码之后,可以接收对sw的卸载请求;响应于所述卸载请求,调用并执行index.html中的卸载sw的代码;确认sw是否已成功卸载;在确定已成功卸载的情况下,通过回调事件调用刷新浏览器的代码对所述目标浏览器进行刷新。即,在当前版本的index.html中永久卸载sw,对于sw的更新版本,客户端刷新一次即可正常获取,index.html也设置了不缓存,因此,可以在index.html中写入sw的卸载代码,并在卸载成功的回调事件中调用浏览器刷新代码,至此sw服务可以无感知地从客户端卸载。
60.下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
61.针对现有的卸载sw设计基本都是在需要客户手动做一次前端缓存清理才能完全去除,在本例中,提出了一种渐进式部署方案,从而针对已经上线的项目,可以在客户端无感知的情况下卸载sw服务,即不需要客户手动清除浏览器缓存。
62.具体的,在本例中提供的渐进式部署方案中,以三个阶段版本采用渐进式部署的方式,确保绝大部分用户可以访问到每个版本的代码,实现无感卸载,且每个版本有一定的存在时间,从而保证用户可以访问到更新。在实际实现的过程中,如果发现sw缓存的文件版本与当前版本不同,那么用户可以手动清除浏览器缓存以获取最新版本代码。
63.在实现的时候,可以如图2所示,包括如下步骤:
64.s1:确定浏览器存在sw,则监听sw.updated事件,代码触发浏览器立即更新。
65.针对服务器中存在sw服务,每次版本更新,浏览器需要刷新两次才能获取到新版本的问题,为了确保用户能够获取这个新版本,部署更新sw后立即刷新页面的前端版本,即在获取sw更新后,立即再调用一次浏览器的刷新,通过这个前端版本的设置可以确保用户及时更新到代码文件。
66.s2:确定不缓存index.html,使得可以立即获取最新的index.html和相应的js文件。当sw服务存在,那么s1中访问的index.html都是sw中的缓存文件,此时去除index.html的缓存,可以保证这个版本只需要刷新一次页面就能获取更新版本。即,如果有sw更新可以立即刷新浏览器获取,在service

worker.js中过滤对于index.html的缓存,这样使得无需经过两次刷新就可以获取到最新版本。
67.其中,service worker是一段脚本,在后台运行。作为一个独立的线程,不会对页面造成阻塞。本质上充当web应用程序与浏览器之间的代理服务器。
68.s3:去除sw的注册代码和service

worker.js文件,在index.html中注入卸载sw的代码,卸载sw成功的回调中调用刷新浏览器的代码。进一步的,考虑到不去除service

worker文件,那么在新版本的index.html中写入卸载sw的代码,此时sw的注册行为依然存在,当sw被卸载,再刷新页面时,sw又会被注册,此时陷入一个循环。因此,需要去除service

worker.js文件,从而避免sw又被注册,以达到在当前版本的index.html中永久卸载sw的目的。此时的更新版本,客户端刷新一次即可正常获取,index.html也设置了不缓存,所以在index.html中写入sw的卸载代码,并在卸载成功的回调事件中调用浏览器刷新
代码,至此sw服务可以无感知地从客户端卸载。
69.本技术上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图3是本技术提供的一种浏览器刷新方法的电子设备的硬件结构框图。如图3所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
70.存储器04可用于存储应用软件的软件程序以及模块,如本技术实施例中的浏览器刷新方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的浏览器刷新方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
71.传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
72.在软件层面,上述浏览器刷新装置可以如图4所示,包括:
73.确定模块401,用于确定目标浏览器中是否已部署服务器与浏览器之间的中间人角色sw;
74.设置模块402,用于在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
75.触发模块403,用于在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
76.在一个实施方式中,上述浏览器刷新装置还可以包括:去除模块,用于在确定已部署sw之后,去除sw的注册代码和service

worker.js文件。
77.在一个实施方式中,上述浏览器刷新装置还可以包括:第一增加模块,用于在确定已部署sw之后,在index.html中增加卸载sw的代码;第二增加模块,用于在成功卸载sw的回调事件中增加刷新浏览器的代码。
78.在一个实施方式中,上述浏览器刷新装置还可以包括:接收模块,用于在index.html中增加卸载sw的代码之后,接收对sw的卸载请求;调用模块,用于响应于所述卸载请求,调用并执行index.html中的卸载sw的代码;确认模块,用于确认sw是否已成功卸载;刷新模块,用于在确定已成功卸载的情况下,通过回调事件调用刷新浏览器的代码对所述目标浏览器进行刷新。
79.本技术的实施例还提供能够实现上述实施例中的浏览器刷新方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存
储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的浏览器刷新方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
80.步骤1:确定目标浏览器中是否已部署sw;
81.步骤2:在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
82.步骤3:在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
83.本技术提供的一种浏览器刷新方法,确定目标浏览器中是否已部署sw,在目标浏览器已经部署了sw的情况下,设置不缓存index.html,并监听sw更新事件;在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。通过设置不缓存index.html,可以保证只需要刷新一次就可以获取更新版本,无需经过两次刷新就可以获取到最新版本。
84.本技术的实施例还提供能够实现上述实施例中的浏览器刷新方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的浏览器刷新方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
85.步骤1:确定目标浏览器中是否已部署sw;
86.步骤2:在确定已部署sw的情况下,设置不缓存index.html,并监听sw更新事件;
87.步骤3:在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。
88.本技术提供的一种浏览器刷新方法,确定目标浏览器中是否已部署sw,在目标浏览器已经部署了sw的情况下,设置不缓存index.html,并监听sw更新事件;在监听到sw更新事件的情况下,立即触发对所述目标浏览器进行刷新。通过设置不缓存index.html,可以保证只需要刷新一次就可以获取更新版本,无需经过两次刷新就可以获取到最新版本。
89.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
90.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
91.虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
92.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人
数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
93.虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
94.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
95.本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
96.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
97.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
98.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
99.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网
络接口和内存。
100.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
101.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
102.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
103.本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
104.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
105.以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1