1

IE8 のサポートを停止するには、クライアントが使用しているブラウザーとバージョンを見つける必要があります (クライアント側で、またはクライアントが送信するヘッダーをnavigator.userAgent使用してサーバー側 [jsp] で行うことができます)。User-Agentリクエストで)。

問題は、メタデータを使用して IE8 エンジン (ドキュメント モード 8) でページをレンダリングするようブラウザーに強制している<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">ため、ユーザーは IE 8 ブラウザーのように動作します。

ドキュメント モード (互換モード) を無視して、実際の IE のバージョンを見つける方法はありますか?

4

2 に答える 2

1

I figured a way to do it, we can do it by figuring out the Javascript interpreter version:

var IE = (function () {
        "use strict";
        var ret, isTheBrowser, actualVersion, jscriptMap, jscriptVersion;

        isTheBrowser = false;
        jscriptMap = {"5.5": "5.5", "5.6": "6", "5.7": "7", "5.8": "8", "9": "9", "10": "10", "11": "11"};
        jscriptVersion = new Function("/*@cc_on return @_jscript_version; @*/")();

        if (jscriptVersion !== undefined) {
            isTheBrowser = true;
            actualVersion = jscriptMap[jscriptVersion];
            if (actualVersion === undefined) {
                actualVersion = jscriptVersion;
            }
        } 

        ret = {isTheBrowser: isTheBrowser, actualVersion: actualVersion};

        return ret;
    }());
于 2014-12-01T07:42:59.737 に答える
0

はい。JQuery または Java Script を使用して検索できます。

Java Script で検索するには、次のように記述します。

 function checkBrowserVersion() {

            var ua = window.navigator.userAgent;
            var ie = ua.indexOf("MSIE ");

            if (ie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))    
                alert(parseInt(ua.substring(ie + 5, ua.indexOf(".", ie))));
            else                 
                alert('Other Browser!!');
           return false;
         }

Jquery を使用する場合は、次のように簡単に使用できます。

if ( $.browser.msie ) {
  alert( $.browser.version );
}

注: Jquery バージョン 1.9 以降を使用している場合は、jquery-migrateプラグインも含める必要があります。 ハッピーコーディング!!!

于 2014-11-27T05:42:38.927 に答える