首页 > 编程知识 正文

APP 内嵌H5, H5页面可见性改变事件 : visibilitychange

时间:2023-05-04 19:03:40 阅读:127311 作者:1766

经过与APP的同时交流,可以确认两种情况的:

母语入口H5返回母语;

在这种情况下,本地人放弃H5的webview; 本机门户H5打开新的本机(如登录);

在这种情况下,webview’将被缓存,并且只能使用相关的回调(本机门户H5第三方网站(如支付)

在这种情况下,webview’能够针对上述第一情况和第三情况,通过像:beforeRouteEnter那样监听路由变化来进行逻辑处理,是主动的;

摘要:本文介绍了本人在开发过程中遇到的问题,以及如何利用可视更改解决这些问题。

简而言之,visibilitychange事件是通过绑定文档对象的一种方式在H5页隐藏或者显示上触发的。

出现的问题(指H5、Vue页面)在前景: APP中嵌入H5事件页面,入口为本机,事件页面具有登录状态判断逻辑,以APP本机身份登录,登录成功

您是否登录到Created with Raphal 2.2.0本机门户H5的活动页面? 本机品牌页面登录成功了吗? no yes如果您没有登录http://www.Sina.com/:则不会显示个人积分,并在本地登录成功后返回该页面。 页面数据是未更新,还是处于未登录状态; 调试的结果是没有执行页面的所有挂接函数。 `在流程图如下:: APP内部打开H5,然后离开H5跳转到本机页面。 原因是,APP不会放弃打开H5的webview。 (webview可以理解为容器,APP用于打开H5页,我的理解类似于浏览器窗口。) ) ) ) ) ) ) 65因此,第一次进入APP时,可能缓存了所有H5页,包括资源。 下次进入这个H5时,数据不会更新。 我在使用之前缓存的数据。 `验证通过在互联网上查阅资料获得的方法后,html head始终添加三个元标记:

结果, 问题`后的评论是我自己的理解` meta http-equiv=' pragma ' content=' no-cache '! -关闭缓存----meta http-equiv=' cache-control ' content=' no-cache '! -关闭缓存----meta http-equiv=' expires ' content='0'! -立即过期,即重新请求资源- -偶然发现了一种叫可视更改的方法,于是开始了谷歌。 毕竟,功夫不负责任;

结果: 猜测

3:3358 www.Sina.com//setthenameofthehiddenpropertyandthechangeeventforvisibilityvarhidden,visibilityChange; if(typeofdocument.hidden!==' undefined ' } {//opera 12.10 and Firefox 18 andlatersupporthidden=' hidden '; 可见性更改='可见性更改'; } else if (type of document.ms hidden!=='undefined ' ) { hidden='msHidden '; 可视更改=' msvisibilitychange '; } else if (type of document.WebKit hidden!=='undefined ' ) { hidden='webkitHidden '; 可视更改=' webkitvisibilitychange '; } handleVisibilityChange () if ) document.hidden )//隐藏页面console.log ) document.hidden, 在document.visibility state//true ' hidden ' } else {//页上输入console.log(document.hidden, document.visibility state//false ' visible ' }//warnifthebrowserdoesn ' tsupportaddeventlistenerorthepagevisibilityapiif (类型of document.addevent listener===' undefined sdemorequiresabrowser,such as Google Chrome or Firefox,thatsupportsthepagevisibility } else {//handlepagevisibilitychangedocedocility 由于是与webViewJavascriptBridge和APP共同开发的,所以只需要在H5端注册成功登录的方法,让APP调用,通过回调执行更新数据的操作即可。 请注意****2. 3这两种方式。 虽然可以解决问题,但是(本人) Android会出现约1s的白色画面。 现在还没有

本文来自:https://www.Jian Shu.com/p/e 905584 F8 ed 2

学习很开心

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。