码迷,mamicode.com
首页 > Web开发 > 详细

jQuery兼容浏览器IE8方法

时间:2018-02-14 13:25:07      阅读:627      评论:0      收藏:0      [点我收藏+]

标签:解决   java   typeof   each   style   页面   开始   ie浏览器   调整   

1.前言

  在做前端开发的时候,公司的规范要求面向客户的兼容到IE8,但是在IE8模式下经常会发现各种错误,某某方法未定义、不支持某属性或对象等,使用jQuery的时候,jQuery从2.0开始不兼容IE8,最低支持IE9,所以需要引入更低的jQuery版本来兼容。

2.IE8不支持jQuery版本解决办法

  • 通过判断IE浏览器的版本来加载对应版本的jQuery

  使用语句<!--[if IE 8]> 仅IE8可识别 <![endif]--> 可在IE8模式下进行一些兼容操作。代码如下:

1 <script type="text/javascript" src="<%=path%>/js/jquery-3.1.1.min.js"></script>
2 <!--[if IE 8]>
3 <script type="text/javascript" src="<%=path%>/js/jquery-1.9.1.min.js"></script>
4 <![endif]-->

  这样在切换到IE8时,低版本的jQuery就会覆盖高版本的jQuery。如果在IE8下需要调整某些元素的样式的话,最好将JS代码放在页面底部(并注意是否有行内样式),不然为某些动态加载的内容设置的样式可能不会生效。

3.IE8不支持forEach解决办法

  • 为不支持forEach的浏览器添加自定义forEach方法

  代码如下:

1 if (typeof Array.prototype.forEach != ‘function‘) {
2     Array.prototype.forEach = function (callback) {
3         for (var i = 0; i < this.length; i++) {
4             callback.apply(this, [this[i], i, this]);
5         }
6     };
7 }

如果是引入的jQuery插件,可将该段代码放在插件内容的开头即可,这样在IE8下执行forEach方法就不会报错了。 

 

jQuery兼容浏览器IE8方法

标签:解决   java   typeof   each   style   页面   开始   ie浏览器   调整   

原文地址:https://www.cnblogs.com/jakeylove3/p/8448167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!