完美解决IE低版本不支持call与apply的问题
2013-12-05 00:00
621 查看
Function.prototype的apply和call是在1999年发布的ECMA262 Edition3中才加入的(1998年发布ECMA262 Edition2)。在此前的的浏览器如IE5.01(JScript 5.0)中是没有apply和call的。因此会带来一些兼容性问题,以下是修复方式:
if(!Function.prototype.apply){ Function.prototype.apply = function(obj, args){ obj = obj == undefined ? window : Object(obj);//obj可以是js基本类型 var i = 0, ary = [], str; if(args){ for( len=args.length; i<len; i++ ){ ary[i] = "args[" + i + "]"; } } obj._apply = this; str = 'obj._apply(' + ary.join(',') + ')'; try{ return eval(str); }catch(e){ }finally{ delete obj._apply; } }; } if(!Function.prototype.call){ Function.prototype.call = function(obj){ var i = 1, args = []; for( len=arguments.length; i<len; i++ ){ args[i-1] = arguments[i]; } return this.apply(obj, args); }; }
相关文章推荐
- 完美解决IE低版本不支持call与apply的问题
- 完美解决IE低版本不支持call与apply的问题
- 解决IE低版本不支持call和apply问题
- 解决低版本ie下li:hover不支持的问题
- 完美解决IE不支持Data.parse()的问题
- bootstrap解决IE低版本不支持HTML5问题
- 解决IE很多版本不支持placeholder的问题
- 完美解决IE不支持placeholder的问题
- ie高版本浏览器不支持velocity的问题解决
- 解决“此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭”问题
- 解决IE不支持Data.parse()的问题
- 完美解决IE8不支持margin auto问题
- 解决低版本IE与Mazilla不能发表文章的问题
- 完美解决T4X风扇噪音问题 (热点问题) 最新版本v018中文版更新!!!
- 【ubuntu】解决窗口管理器 不支持透明问题(11.04之前版本不支持)
- 快速解决低版本Xcode不支持高版本iOS真机调试的问题
- (转)JavaScript Trim() IE 不支持 问题解决 .
- 最新完美解决nginx支持thinkphp的PATH_INFO,URL格式的问题
- nginx判断来路域名,跳转,解决ie不支持记录referer跳转问题
- 逆天的jquery版本 jquery-1.3.2.min、jquery-1.4.4.min 完美解决跨域问题