我们想要停止对IE8的支持,为了做到这一点,我们需要找到客户端正在使用的浏览器和版本(我们可以在客户端使用navigator.userAgent
或在服务器端[jsp] ]使用客户端随请求发送的User-Agent
标头。
问题是我们正在强制浏览器使用元数据<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
使用IE8引擎(文档模式8)呈现页面,因此用户将像IE 8浏览器一样。
无论如何我们可以找到实际的IE版本,忽略文档模式(兼容模式)?
答案 0 :(得分:1)
我想办法,我们可以通过找出Javascript解释器版本来实现:
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;
}());
答案 1 :(得分: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插件。 快乐的编码!!!