0
点赞
收藏
分享

微信扫一扫

Vue2.x项目兼容IE9的常见问题及解决方案

爱做梦的老巫婆 2022-04-16 阅读 55

1、如何用js判断浏览器是否是IE

function isIE() {
  if (!!window.ActiveXObject || "ActiveXObject" in window) return true;
  else return false;
}

2、需要下载babel-polyfill和es6-promise,并在入口文件中引入

// 引入babel-polyfill
import "babel-polyfill";

// es6 promise
import promise from "es6-promise";
promise.polyfill();

3、如果IE9开发环境下无法运行项目并报错'wekSocket'未定义,不用管,后面将项目部署到服务器上接可以了

4、IE中路由跳转页面不刷新的问题(不只IE9)

 // IE中路由跳转页面不更新问题解决
  mounted() {
    if (isIE) {
      window.addEventListener(
        "hashchange",
        () => {
          let currentPath = window.location.hash.slice(1);
          if (this.$route.path !== currentPath) {
            this.$router.replace(currentPath);
          }
        },
        false
      );
    }
  },

5、在IE浏览器中get第一次请求之后拿到结果就不再请求了,而是从缓存中获取数据,对于那些需要实时结果的信息,我们不能接受缓存值

①在get请求的url参数后面加时间戳:时间戳:t:Date.now()、new Date().getTime()

②用post请求代替get请求,不符合restful api设计

举报

相关推荐

0 条评论