JavaScriptはブラウザのカーネルとIEカーネルのバージョンを判断して取得します——ピットを踏んで覚えます


swiper 4.1.6は低バージョンのIE互換性が悪いため、ブラウザカーネルとカーネルバージョンを検出する機能が必要です.
navigator.userAgentは、HTTPリクエストに対してブラウザが使用するユーザエージェントヘッダの値を宣言し、リクエストしたブラウザに関する情報を取得する文字列です.
ここで、TridentはIEブラウザで使用されるカーネルであり、MSIEは旧バージョンのIEブラウザ情報に表示される.
document.documentModeは IEカーネル使用時 カーネルのバージョン.
//        
function getBrowserEngine() {
  var userAgent = navigator.userAgent; //      userAgent   
  if (userAgent.indexOf('Trident') !== -1 || userAgent.indexOf('MSIE') !== -1) { //      IE   
    return 'IE';
  } else if (userAgent.indexOf('Firefox') !== -1) {
    return "Firefox";
  } else if (userAgent.indexOf('Chrome') !== -1) {
    return 'Chrome';
  } else if (userAgent.indexOf('Safari') !== -1) {
    return 'Safari';
  } else {
    return;
  }
}

//            IE    
function getIEVersion() {
  return document.documentMode;
}

踏み込み穴:
互換モード時にどのバージョンのIEカーネルが設定されているかにかかわらず、document.documentModeによってシステムインストールの最高バージョンのIEカーネルとして解析されることが分かった.
検索してみると、プロジェクトhtmlには以下の内容が書かれています.

この構成の意味は次のとおりです.
1、Google Chrome Frame:GCFがサポートされている場合は、GCFレンダリングを使用します.
2、システムがie 8以上のバージョンをインストールする場合、最高バージョンieを使用してレンダリングする.
3、そうでなければ、この設定は無視できます.
この内容を注釈すると、コードが正常に動作します.