我已经研究了这个问题。 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似乎正在尝试访问该对象,而不是分配它。
答案 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)
尝试在兼容模式下设置浏览器 - 工具,兼容性视图设置,然后选择以兼容模式查看所有网站。