IE8对象不支持此属性或方法(Math.max.apply)

时间:2011-12-12 08:07:38

标签: javascript internet-explorer

我不是一个巨大的JS作家 - 所以这可能很容易 - 但我在下面的代码行中遇到了上述错误:

max_height = Math.max.apply(Math, this.headlines.map(function(e) {
        return jQuery(e).height(); }));

它不是我的代码 - 但任何关于如何解决这个问题的指针将不胜感激!感谢

PS。在Chrome / Safari上完美运行......

1 个答案:

答案 0 :(得分:10)

我的第一个(唯一)观察是,你正在使用Javascript 1.6中定义的.map(),IE8仅支持Javascript 1.5(据我所知)

也许尝试使用polyfill或pollyfils库,如modernizr等。 请参阅:https://github.com/kriskowal/es5-shim

或者

编写代码,使其不依赖于IE8不支持的功能。

或者

看到你正在使用jQuery。您可以使用jquery提供.map()功能,请参阅:http://api.jquery.com/jQuery.map/

max_height = Math.max.apply(Math, jQuery.map(this.headlines, function(e) {
    return jQuery(e).height(); }));