El terminal móvil Android e ios implementa la actualización forzada de la página H5

安卓和ios移动端实现H5页面进行强制刷新

定义和用法
onpageshow 事件在用户浏览网页时触发。

onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。

为了查看页面是直接从服务器上载入还是从缓存中读取,你可以使用 PageTransitionEvent 对象的 persisted 属性来判断。 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false (查看以下 "更多实例" )。

En el desarrollo real, se encontró que no hay ningún problema con el método de pageShow para instalar el teléfono móvil. IOS no es compatible con pageShow. Es simple y de mala educación resolver el problema de que ios no se actualiza. Puede usar window.reload (), pero en este caso, se actualizará y aparecerá una pantalla de bienvenida. Caso. Puede utilizar los siguientes métodos para resolver:

     this.pageLoad();
   }
   const _this = this;
   window.addEventListener("pageshow", function(event) {
     if (_this.os === "android") {
       setTimeout(() => {
         _this.pageLoad();
       }, 10);
     } else {
       if (event.persisted) {
         _this.pageLoad();
       }
     }
     try {
       const bfWorker = new Worker(
         window.URL.createObjectURL(new Blob(["1"]))
       );
       window.addEventListener("unload", function() {
         // 这里绑个事件,构造一个闭包,以免 worker 被垃圾回收导致逻辑失效
         bfWorker.terminate();
       });
     } catch (e) {
       console.log(e);
     }
   });

Supongo que te gusta

Origin blog.csdn.net/weixin_44171297/article/details/109910066
Recomendado
Clasificación