vue 项目完美运行在IE或者360浏览器兼容模式下 踩坑笔记

vue 项目完美运行在IE或者360浏览器兼容模式下 踩坑笔记

场景:最近的项目测试大大发现在360兼容模式下百页。然而这个兼容模式下用的是IE内核 也就是vue项目需要兼容IE。

首先解决 IE不支持 Promise

解决办法
引入 <script src = "https://cdn.polyfill.io/v2/polyfill.min.js"></script>
或 <script type="text/javascript" src ="https://cdn.polyfill.io/v2/polyfill.min.js?features=es6"></script>

如果有更好的办法,请留言 相互学习下哈!!!

运行项目发现还是报错CRIPT5022: SecurityError sockjs.js (1683,5)

解决办法
1. 找到/node_modules/sockjs-client/dist/sockjs.js
2. 找到代码的 1605行
try {
    // self.xhr.send(payload); // 注释掉
} catch (e) {
    self.emit('finish', 0, '');
    self._cleanup(false);
}

到这里,页面正常显示,但是我发现跳转不太好使了。使用 vue-router 地址栏改变,但是需要刷新页面才能生效

解决办法
// App.vue下修改如下
export default {
  	name: 'App',
  mounted(){
    function checkIE(){
      return '-ms-scroll-limit' in document.documentElement.style && '-ms-ime-align' in document.documentElement.style
    }
    if (checkIE()) {
      window.addEventListener('hashchange', () => {
        var currentPath = window.location.hash.slice(1);
        if (this.$route.path !== currentPath) {
        this.$router.push(currentPath)
      }
    }, false)
    }
  }
}

项目完美运行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值