无法获取属性____的值:object为null或undefined

时间:2012-02-14 16:45:26

标签: javascript jquery internet-explorer

我已经研究了这个问题。 Stackoverflow上有几篇关于此的帖子,但似乎没有一个对我有答案。

与此处的其他帖子一样,它在Chrome或Firefox中运行良好。但在IE 9,8,7和& 6我得到了同样的错误。我已经尝试了强制9进入兼容模式的黑客,但它无法解决问题。

它说的是Unable to get value of the property 'styleHelper': object is null or undefined,具有讽刺意味的是,如果我 - 在IE 9中 - 键入控制台window.microstrategy.bone("W2552_Ctl").styleHelper它可以工作并返回我需要的功能(该ID由WYSIWYG创建,不是'讨厌我。

是的,所有内容都包含在$(document).ready中。是的,没有错别字。我不明白为什么IE非常讨厌这个。任何帮助将不胜感激:)

有问题的代码是一个简单的变量声明。

var ctlBone = window.microstrategy.bone(targetId + "_Ctl").styleHelper.ctlBone;

IE似乎正在尝试访问该对象,而不是分配它。

3 个答案:

答案 0 :(得分:6)

最后!

这是setTimeout的一个问题。显然setTimeout(function, miliseconds, param1, param2, param3);明确地在IE中打破了。

消息来源:http://arguments.callee.info/2008/11/10/passing-arguments-to-settimeout-and-setinterval/

答案 1 :(得分:2)

我建议不要在$(document).ready(function(){函数中包装jquery代码。我评论$(document).ready(function(){它在包括IE 9 8 7在内的所有浏览器中都运行良好后,我也遇到了同样的问题。

答案 2 :(得分:1)

尝试在兼容模式下设置浏览器 - 工具,兼容性视图设置,然后选择以兼容模式查看所有网站。