admin管理员组

文章数量:1650109

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)
    }
  }
}

项目完美运行

本文标签: 浏览器完美笔记项目模式下