1. 程式人生 > 其它 >vue 專案完美執行在IE或者360瀏覽器相容模式下 踩坑筆記

vue 專案完美執行在IE或者360瀏覽器相容模式下 踩坑筆記

技術標籤:vue

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

專案完美執行