如果只是判斷IE版本,沒必要?jiǎng)佑肑QUERY來做,直接可以判斷了,,下面是各版本的代碼
滄州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
!--[if IE] ?
h1您正在使用IE瀏覽器/h1 ?
!--[if IE?6] ?
h2版本?6/h2 ?
![endif]-- ?
!--[if IE?7] ?
h2版本?7/h2 ?
![endif]--
!--[if gte IE?8]
h2版本?8及以上/h2 ?
![endif]--
![endif]-- ?
如果一定要用JQUERY來判斷的話,可以用jquery.browser來做。下面是簡單粟子。
script?type="text/javascript"?src=""/script
script?type="text/javascript"
$(function()?{
var?userAgent?=?window.navigator.userAgent.toLowerCase();
$.browser.msie10?=?$.browser.msie??/msie?10\.0/i.test(userAgent);
$.browser.msie9?=?$.browser.msie??/msie?9\.0/i.test(userAgent);?
$.browser.msie8?=?$.browser.msie??/msie?8\.0/i.test(userAgent);
$.browser.msie7?=?$.browser.msie??/msie?7\.0/i.test(userAgent);
$.browser.msie6?=?!$.browser.msie8??!$.browser.msie7??$.browser.msie??/msie?6\.0/i.test(userAgent);
$(".info").html(
"h3userAgent:/h3"?+?userAgent?+?"br?/"?+
"h3Is?IE?10?/h3"?+?$.browser.msie10?+
"h3Is?IE?9?/h3"?+?$.browser.msie9?+
"h3Is?IE?8?/h3"?+?$.browser.msie8?+
"h3Is?IE?7?/h3"?+?$.browser.msie7?+
"h3Is?IE?6?/h3"?+?$.browser.msie6
);
});
/script
body
div?class="info"/div
/body
jQuery 1.x 支持IE6-8,2.0及以上不再支持IE8。
jQuery 1.x最新的版本是1.12.
以下是jQuery官網(wǎng)上的說明:
If you need to support older browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+, use?jQuery 1.12.
2.0以上版本的jQuery已經(jīng)不再支持IE8及以下版本的IE瀏覽器,所以才出現(xiàn)了問題。
解決方法很簡單:
!--IE8只能支持jQuery1.9--!--[if?lte?IE?8]script?src=""/script![endif]--
相關(guān)問題:
Jquery從2.x版本開始已經(jīng)不再進(jìn)行IE低版本(IE6、IE7、IE8)的兼容性處理。如果需要兼容低版本的IE版本,建議使用原生JS或者低版本的Jquery1.x版本。
一般的處理方式是給網(wǎng)頁寫兩套或者多套JS代碼以適應(yīng)不同版本、不同類型的瀏覽器,然后使用原生JS判斷瀏覽器的型號和版本來加載不同的JS文件,具體的實(shí)現(xiàn)方法如下:
script?language="javascript"?
//判斷是否為IE瀏覽器
if(navigator.appName?==?"Microsoft?Internet?Explorer")?
{?
if(navigator.appVersion.match(/7./i)?==?'6.'?||
navigator.appVersion.match(/7./i)?==?'7.'?||
navigator.appVersion.match(/7./i)?==?'8.')?
{?
document.write("script?src=\"myjs1.js\""+"/script");?
}else{?????
document.write("script?src=\"myjs2.js.js\""+"/script");?
}?
}?
/script
我們一般使用jquery獲取select時(shí),一般這么用:
select
id='a'
option
selected='selected'
value='1'
/select
var
selectedValue
=
$("#a").val();
在非IE8下,selectedValue的值為“1”,typeof
selectedValue
為“string”。
在IE8下,selectedValue的值為[“1”],typeof
selectedValue
為
“objectg”。
如果直接將selectedValue
post發(fā)送到后臺,后臺接收時(shí)會報(bào)錯(cuò),因?yàn)樵趥鬏斶^程中,IE8下selectedValue當(dāng)成了數(shù)組,后臺無法識別。
解決的代碼如下:
selectedValue
=
typeof
selectedValue
==
"object"
?
selectedValue[0]
:
selectedValue;
這樣selectedValue為字符串了。
另外這樣會引發(fā)其他的問題:
var
a
=
selectedValue.trim();
這段代碼在IE8下無法執(zhí)行,可能的原因也是由于上述所致。
使用如下代碼就確保可以運(yùn)行:
$.trim(selectedValue);
[img]