扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如果只是判断IE版本,没必要动用JQUERY来做,直接可以判断了,,下面是各版本的代码
沧州网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
!--[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官网上的说明:
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已经不再支持IE8及以下版本的IE浏览器,所以才出现了问题。
解决方法很简单:
!--IE8只能支持jQuery1.9--!--[if lte IE 8]script src=""/script![endif]--
相关问题:
Jquery从2.x版本开始已经不再进行IE低版本(IE6、IE7、IE8)的兼容性处理。如果需要兼容低版本的IE版本,建议使用原生JS或者低版本的Jquery1.x版本。
一般的处理方式是给网页写两套或者多套JS代码以适应不同版本、不同类型的浏览器,然后使用原生JS判断浏览器的型号和版本来加载不同的JS文件,具体的实现方法如下:
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时,一般这么用:
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发送到后台,后台接收时会报错,因为在传输过程中,IE8下selectedValue当成了数组,后台无法识别。
解决的代码如下:
selectedValue
=
typeof
selectedValue
==
"object"
?
selectedValue[0]
:
selectedValue;
这样selectedValue为字符串了。
另外这样会引发其他的问题:
var
a
=
selectedValue.trim();
这段代码在IE8下无法执行,可能的原因也是由于上述所致。
使用如下代码就确保可以运行:
$.trim(selectedValue);
[img]我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流