【已解決】Vue關於ie兼容性模式下報SCRIPT1003錯誤的處理過程


問題描述:

Vue項目在chrome內核瀏覽中顯示正常,但在360兼容性模式下(ie內核)無法顯示,直接白屏,查看控制台發現如下錯誤。

 

原因及處理過程:

原因基本鎖定ie瀏覽器無法解析es6。網上查了很多解決方案,比如:(下圖方法一般兼容性問題確實可以解決)

 比如:

但很遺憾,都沒有能解決問題。跟我問題最接近的 傳送門,但他也沒有解決。

目前我只能退而求其次,判斷瀏覽器的版本,如果是ie內核,我就跳頁面提示。微信公眾號已經放棄了ie內核。

以下是瀏覽器判斷方法。

function BrowserType() 
 { 
   var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串 
   var isOpera = userAgent.indexOf("Opera") > -1; //判斷是否Opera瀏覽器 
   // var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器 
   var isIE=window.ActiveXObject || "ActiveXObject" in window
   // var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判斷是否IE的Edge瀏覽器 
   var isEdge = userAgent.indexOf("Edge") > -1; //判斷是否IE的Edge瀏覽器
   var isFF = userAgent.indexOf("Firefox") > -1; //判斷是否Firefox瀏覽器 
   var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判斷是否Safari瀏覽器 
   var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1&&!isEdge; //判斷Chrome瀏覽器 
   if (isIE)  
   { 
      var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); 
      reIE.test(userAgent); 
      var fIEVersion = parseFloat(RegExp["$1"]); 
      if(userAgent.indexOf('MSIE 6.0')!=-1){
        return "IE6";
      }else if(fIEVersion == 7) 
        { return "IE7";} 
      else if(fIEVersion == 8) 
        { return "IE8";} 
      else if(fIEVersion == 9) 
        { return "IE9";} 
      else if(fIEVersion == 10) 
        { return "IE10";} 
      else if(userAgent.toLowerCase().match(/rv:([\d.]+)\) like gecko/)){ 
            return "IE11";
        } 
      else
        { return "0"}//IE版本過低
    }//isIE end 
      
    if (isFF) { return "FF";} 
    if (isOpera) { return "Opera";} 
    if (isSafari) { return "Safari";} 
    if (isChrome) { return "Chrome";} 
    if (isEdge) { return "Edge";} 
}

發現問題

正打算閱讀了balel/polyfill中文官網的時候,又柳暗花明了。仔細觀察了錯誤。

vue-puzzle-verification一個用於登錄驗證的拼圖的vue組件。

 

 去除以后顯示正常。

總結:

我一直以為是ie兼容性問題,其實也確實是ie兼容性問題,但解決思路上出現問題,一直想通過config等配置解決問題。但這個問題本身是引用的第三方組件不兼容ie。提示中有錯誤,並沒有仔細閱讀。下一步看看有沒有替換方案。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM