微信浏览器打开空白

561 阅读1分钟

微信自带浏览器会缓存index.html,所以导致里面的js、css文件等内容,始终都是上个版本的名字,然而我们这边又更新了版本,js等名字又是不一样的,所以会存在404的问题,导致一进去白屏的问题

解决方案:

思路:刷新当前页面,重载index.html

在/public/文件夹新增version.json文件,当进入全朗e家的时候会请求一个version.json的文件,拿到当前的版本号,存到本地;这时会判断,如果请求回来的版本号,和本地的版本号,是否一致,如果相同,则没更新版本不会执行刷新,如果不同,则执行刷新重载

version.json

{
    "version": "v2021.2.4.1"
}
//main.js

import axios from 'axios'


function version() {
  let baseurl = window.location.origin + "/version.json"
  axios.get(baseurl)
    .then(function (response) {
      console.log("response", response)
      if (localStorage.hasOwnProperty("version")) {
        if (localStorage.getItem("version") != response.version) {
          localStorage.setItem("version", response.version)
          window.location.reload();
        }
      } else {
        localStorage.setItem("version", response.version)
        window.location.reload();
      }

    })
    .catch(function (error) {
      console.log(error);
    });
}

Vue.prototype.$version = version

//app.vue mounted里面执行
 this.$version();