Firefox中的“c.defaultView.getComputedStyle()为空”问题

时间:2011-11-16 16:56:14

标签: javascript jquery firefox iframe cross-domain

我在域“abc.com”的页面中使用jquery,此页面在域“def.com”上打开iframe,它也使用jquery(相同版本,我尝试了1.5.2中的不同版本)至1.6.4)。使用jquery库thickbox打开框架(不再维护......)。

我的问题发生在Firefox(从3.X到8.0的任何版本),我在第一次加载iframe时得到javascript错误“c.defaultView.getComputedStyle(a,null)为null”因此可以不访问任何jquery初始化方法:

$(function() {
  /* Does not pass here in firefox */
});

在任何其他浏览器(chrome,即opera ...)代码可以工作,但在firefox中我必须手动重新加载iframe(右键单击 - >此框架 - >重新加载)...我已阅读这里有关于类似问题的一些帖子,每次问题都是两个jquery库之间的冲突。在我的情况下,我无法删除其中一个JS,因为这两个页面位于不同的域中。

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

这与以下Firefox错误有关:

Bug 548397 - window.getComputedStyle() returns null inside an iframe with display: none

可能的解决方案包括将iframe的宽度和高度设置为0或隐藏可见性,而不是使用display: none