JavaScriptはブラウザのカーネルとIEカーネルのバージョンを判断して取得します——ピットを踏んで覚えます
1353 ワード
swiper 4.1.6は低バージョンのIE互換性が悪いため、ブラウザカーネルとカーネルバージョンを検出する機能が必要です.
navigator.userAgentは、HTTPリクエストに対してブラウザが使用するユーザエージェントヘッダの値を宣言し、リクエストしたブラウザに関する情報を取得する文字列です.
ここで、TridentはIEブラウザで使用されるカーネルであり、MSIEは旧バージョンのIEブラウザ情報に表示される.
document.documentModeは IEカーネル使用時 カーネルのバージョン.
踏み込み穴:
互換モード時にどのバージョンのIEカーネルが設定されているかにかかわらず、document.documentModeによってシステムインストールの最高バージョンのIEカーネルとして解析されることが分かった.
検索してみると、プロジェクトhtmlには以下の内容が書かれています.
この構成の意味は次のとおりです.
1、Google Chrome Frame:GCFがサポートされている場合は、GCFレンダリングを使用します.
2、システムがie 8以上のバージョンをインストールする場合、最高バージョンieを使用してレンダリングする.
3、そうでなければ、この設定は無視できます.
この内容を注釈すると、コードが正常に動作します.
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、そうでなければ、この設定は無視できます.
この内容を注釈すると、コードが正常に動作します.