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

本文介绍了如何使用JavaScript检测IE浏览器,并针对IE的兼容性问题提出解决方案。包括通过`babel-polyfill`和`es6-promise`解决ES6语法支持,处理IE9下WebSocket未定义的错误,解决IE中路由不刷新问题,以及应对IE浏览器缓存GET请求的方法。这些技巧旨在确保在IE中也能正常运行现代Web应用。
摘要由CSDN通过智能技术生成

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设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值