我已经研究过了。 Stackoverflow 上已经有几篇关于此的帖子,但似乎都没有给我答案。
与此处的其他帖子一样,它在 Chrome 或 Firefox 中运行良好。但是在 IE 9、8、7 和 6 中我得到了同样的错误。我已经尝试过强制 9 进入兼容模式的 hack,但它没有解决问题。
这是说无法获取属性“styleHelper”的值:对象为空或未定义
,具有讽刺意味的是,如果我在 IE 9 中输入控制台 window.microstrategy .bone("W2552_Ctl").styleHelper
它可以工作并返回我需要的函数(该 ID 是由 WYSIWYG 创建的,不要讨厌我)。
是的,所有内容都包含在 $(document).ready
中。是的,没有错别字。我不明白为什么 IE 如此讨厌这个。任何帮助将不胜感激:)
有问题的代码是一个简单的变量声明。
var ctlBone = window.microstrategy.bone(targetId + "_Ctl").styleHelper.ctlBone;
看起来 IE 正试图立即访问该对象,而不是分配它。
最佳答案
最后!
这是 setTimeout 的问题。显然 setTimeout(function, miliseconds, param1, param2, param3);
专门在 IE 中中断。
来源:http://arguments.callee.info/2008/11/10/passing-arguments-to-settimeout-and-setinterval/
关于javascript - 无法获取属性值 ____ : object is null or undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280723/