js或jq判断ie8及以下版本浏览器不让显示页面是什么意思?显示提醒用户升级浏览器版本?

JavaScript028

js或jq判断ie8及以下版本浏览器不让显示页面是什么意思?显示提醒用户升级浏览器版本?,第1张

<script type="text/javascript" src="http://img.jb51.net/jslib/jquery/jquery.js"></script>

<script type="text/javascript">

$(function() {

var userAgent = window.navigator.userAgent.toLowerCase()

var version = $.browser.version

$(".info").html(

"<h3>userAgent:</h3>" + userAgent + "<br />" +

"<h3>version:</h3>" + version

)

})

</script>

<body>

<div class="info"></div>

</body>

解决方案1:

就是新的浏览器, 就是ie8及以下, 业界也推荐这么做

html5的新特性ie8以下不支持jquery10中$, 所以可以用下面的方法进行判断

$, 包括firefox.support.browser方法已经废弃了

jquery现在只能检测浏览器是否支持某特性, chrome.leadingWhitespace 如果是false, 如果是true

解决方案2:

if($.browser.msie &&parseInt($.browser.version) == 8)

解决方案3:

var isIE = !!window.ActiveXObject

var isIE6 = isIE &&!window.XMLHttpRequest

var isIE8 = isIE &&!!document.documentMode

var isIE7 = isIE &&!isIE6 &&!isIE8

IE6~IE10的浏览器特征明显,存在msie字符串,而IE11去掉了msie字符串,可以通过rv后面的版本号识别IE11,具体方法如下:

function IETester(userAgent){

    var UA =  userAgent || navigator.userAgent

    if(/msie/i.test(UA)){

        return UA.match(/msie (\d+\.\d+)/i)[1]

    }else if(~UA.toLowerCase().indexOf('trident') && ~UA.indexOf('rv')){

        return UA.match(/rv:(\d+\.\d+)/)[1]

    }

    return false

}

IETester()//不传参数返回当前IE版本,如果不是IE内核浏览器,返回false

IETester('Mozilla/5.0 (Windows NT 6.3 WOW64 Trident/7.0 rv:11.0) like Gecko')//传userAgent字符串,用来判断其他IE浏览器的版本,该示例返回11.0