ios android和windows,android和ios系统最新版
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。
Android、 iPhone 和 最新的 Windows 系统可随时自动停止后台任务, 并及时发布系统资源。 换句话说, 网页可以随时被系统丢弃。 以前的浏览器 API 完全没有考虑到这一点, 导致开发者无法监测系统丢弃的页面 。
为了解决这个问题,W3C创建了一个新的Page Life API, 统一网页行为模式, 从出生到卸载,
开发者可以利用此 API 来预测网页的下一个状态, 从而执行不同的焦点处理 。 Chloe 68. 此 API 使用谷歌开发的兼容图书馆, 供过期浏览器使用。 js 得到支持 。
生命周期阶段
该网页的生命周期分为六个阶段,每个阶段预计仅一个阶段。
(1) 活动期间
在活动阶段,网页是可见的,投入被列为优先事项。
(2) 被动时期
该页面可在“被动”期间查看,但未输入焦点,且无法接受输入。界面更改(如动画)仍在实施中。只有同时在桌面上打开多个窗口时,才能进入该阶段。
(3) 秘密阶段
用户的桌面在隐藏阶段被其他窗口占据,网页不可见,但没有被冻结。 用户界面更新不再执行 。
(4) 完成阶段
当前页面开始被浏览器卸载,并在终止阶段从记忆中删除,因为用户自愿退出窗口或进入同一窗口中的另一页。 必须指出,这一阶段总是在隐藏阶段之后发生,这意味着用户主动离开当前页面,先移到隐藏阶段,然后移到终止阶段。
这一阶段将导致网页的卸载,在此期间,不会启动任何新的工作,如果目前的任务运行时间过长,可以取消。
(5) 冻结阶段
如果隐藏页太长而用户不关闭,浏览器可能会将页面冻结到冷冻阶段。 但是,也可以想象可见状态中的页面会长期停留在冷冻阶段。
此网页将不再被分配 CPU 计算资源 。 计时器、 回声功能、 网络查询和 DOM 操作将不会执行, 但正在运行的任务将会完成 。 浏览器可以让冷冻阶段页面在很短的时间内恢复, 暂时恢复到隐藏状态, 并允许完成少量任务 。
(6) 被丢弃的阶段
如果该页面处于冻结阶段,而且用户没有将其唤醒,则丢弃阶段即浏览器自动卸载页面的丢弃阶段将消除页面的内存占用。然而,如果被动阶段网页长时间不互动,也可以直接进入丢弃阶段。
这通常由系统强制实施,而没有用户的投入。 无法在此级别引入新任务或 JavaScript 代码, 因为通常在资源受限制的情况下使用 。
浏览器在 Tab 窗口仍然打开时自动浏览网页。 如果用户返回此 Tab 页面, 浏览器将重新请求服务器, 刷新页面, 并返回活动阶段 。
常见场景
下文列出了各种流行风景生命周期的变化情况。
(1) 在打开网页后,用户转到其他应用程序,然后几秒钟后返回网页。
网页的状态又从“主动”改为“隐藏”和“隐藏”。
(2) 用户访问网页,然后更改其长期使用的其他应用程序,导致系统自动处置网页。
从活动到隐藏,冻结,最终被丢弃
(3) 在打开网页后,用户转到其他应用程序,然后从任务管理中退出浏览器过程。
活动到隐藏,然后终止
(4) 当系统拒绝在Tab上开设一页时,用户重新打开该页。
网页状态从丢弃状态改为活动状态。
事件
其中只有两个事件是新近说明的。生命周期的每个阶段都有自己的活动,使开发者能够设置监听程序。freeze事件和resume其余部分已经到位。
值得指出的是,网络上的生命周期事件 在所有的框架里都是触发的, 不管是底框还是嵌入的框架。<iframe>以下事件,如上页一样,正在同时跟踪。
focus 事件
focus例如,当页面的注意力从“被动”到“主动”改变时,该事件就会被触发。
blur 事件
blur例如,当页面的注意力从活动阶段转向被动阶段时,该事件就会触发。
可见度变化变化
visibilitychange该事件是由网站可见状态的变化引发的,这种变化经常在以下条件下发生。
用户从活动页面切换为隐藏页面( 切换标签, 最小化浏览器) 。 用户返回隐藏的页面, 将其从隐藏到活动 。 当用户退出页面时, 它首先移动到隐藏处, 然后被终止 。可以通过document.onvisibilitychange此事件的回声函数由属性指定。
freeze 事件
freeze当网页进入冰冻国家时, 事件被触发了。
可以通过document.onfreeze进入冷冻阶段时,属性表示要使用的回声功能。
此事件的监听功能只能运行500毫秒。 此外, 只有开放式网络连接才能被再利用, 并且无法创建新的网络请求 。
应当指出,从冷冻到丢弃阶段的旅行并不引起任何事件,回声函数只能在进入冷冻阶段时才具体指明。
resume 事件
resume当页面退出冻结阶段并进入活动/被动/隐藏阶段时,该事件就会触发。
document.onresume当回声函数退出冷冻阶段并进入无障碍状态时,该回声函数由页面调用。
专栏节目活动
pageshow当用户装入网页时会触发此事件。 此时, 它可能是已装入的全新页面或从缓存中检索的页面。 如果从缓存中检索, 事件的对象就是缓存页面 。event.persisted属性为true,否则为false。
该事件的名称有点欺骗性, 因为它与页面的可见度无关, 而是与浏览器 Hissory 数据的变化有关 。
刺杀事件
pagehide当用户离开当前网页进入另一个页面时会生成此事件。 它要求浏览器的历史记录更改, 并且与是否显示该网页无关 。
如果浏览器可以将当前页面保存到缓存, 供日后使用, 事件对象的名称将被更改 。event.persisted属性为true。 如果为true如果将一页添加到缓存中,它就会进入冻结状态;否则,它就会进入终结状态。
卸载前的事件
beforeunload事件发生时窗口或文档即将卸载。 文档在事件发生时仍然可见, 因此在此点, 卸载仍然可以取消 。 网页在此事件之后已到达终止状态 。
unload 事件
unload无法创建 POP 服务器:%sA 作为此事件的结果,该网页被标记为终止 。
获取当前阶段
网页的目前状况可使用下面的代码访问,无论它处于主动、被动或隐藏阶段。
因为如果网页位于冻结状态或终止状态, 定时器代码将无法运行, 只能通过监听事件来判断。 如果您进入冻结状态, 您可以监听它 。freeze进入终止阶段以收听pagehide事件。
document.wasDiscarded
如果一个标签处于冻结阶段, 系统可随时拒绝它, 并移动到丢弃阶段。 如果用户再单击标签, 浏览器将会刷新页面 。
开发商现在可以做决定了document.wasDiscarded属性,以确定前页是否被丢弃
同时,window对象上会新增window.clientId和window.discardedClientId有两个特性可以用来恢复发病前的状态。
参考链接
Page Lifecycle API , Philip Walton Lifecycle API for Web Pages , W3C Page Lifecycle 1 Editor’s Draft , W3C作者:阮一峰网址:https://wangdoc.协议:知识共享 3.0 许可证,类似于维基百科
XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com
相关推荐