IE9 JS无法获取属性'display'的值:object为null或undefined

时间:2012-06-08 08:59:17

标签: javascript magento prototypejs internet-explorer-9

最近推出了一个Magento商店,它在主页上有一个图像滑块。在Firefox,Chrome等中完美运行但是像往常一样,IE9引起了问题 - 奇怪的是,这在IE中工作,所以不确定是什么导致它停止运行。

按照目前的情况,在IE9中,它无法检测滑块中的图像范围(仅显示序列中的第一个),随后不会在任何地方滑动。

在IE9开发人员模式中,错误包括: -

=======#

SCRIPT438: Object doesn't support property or method 'dispatchEvent'
prototype.js, line 5734 character 7

代码段:

5733 if (document.createEvent)
5734   element.dispatchEvent(event);
5735 else
5736   element.fireEvent(event.eventType, event);

=======#

和...

=======#

SCRIPT5007: Unable to get value of the property 'display': object is null or undefined
prototype.js, line 2542 character 5

代码段:

2538 else if (Prototype.Browser.IE) {
2539   Element.Methods.getStyle = function(element, style) {
2540     element = $(element);
2541     style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
2542     var value = element.style[style];
2543     if (!value && element.currentStyle) value = element.currentStyle[style];

=======#

在Magento(1.6.2.0)中,我们使用的是最新版本的prototype.js(1.7)。

我们还添加了IE标准模式......

<!-- Enable IE8 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=8" >

类似的错误确实出现在Firefox和Chrome中,但它们似乎不会影响功能。

任何人都可以善待一下,看看问题可能在哪里,因为我不确定要解决什么问题。有问题的网站是http://www.showermania.co.uk/

提前致谢。

2 个答案:

答案 0 :(得分:2)

最终解决了这个问题。

重置Magento的会话cookie管理设置(它可能也值得清除缓存,重新编制索引以及清除任何会话和锁定)。它解决了我的问题(很奇怪),所以如果有人遇到类似的东西,那么它可能值得一试。

答案 1 :(得分:1)

我在其中一个应用中遇到了同样的错误。为了解决这个问题,我将X-UA-COMPATIBLE更改为:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">