Firefox iframe 中的“TypeError: c.defaultView.getComputedStyle(...) is null”错误

Posted

技术标签:

【中文标题】Firefox iframe 中的“TypeError: c.defaultView.getComputedStyle(...) is null”错误【英文标题】:"TypeError: c.defaultView.getComputedStyle(...) is null" error in Firefox iframe 【发布时间】:2014-05-29 23:04:41 【问题描述】:

我正在制作一个包含一些 iframe 的页面,并且在加载内部 iframe 时不断收到“TypeError: c.defaultView.getComputedStyle(...) is null”错误。 有趣的是,在 IE 和 Chrome 中我都没有收到任何错误。

由于应用程序的性质,我一定会使用 iframe,所以这样做不是一种选择。

所以我的父页面包含一个导航栏和一个 iframe 来显示内容(名为 iframe 1)。 在该内容 iframe 中,我再次有一个导航栏和另一个 iframe 来显示内容(名为 iframe 2)。 通过 javascript 加载 iframe 2 的内容:

function GoToUrl(strURL, lngTileID) 
    document.getElementById('Dashboard_FrameDIV').style.display = 'none';
    document.getElementById('Dashboard_LoaderDIV').style.display = '';
    document.getElementById('Dashboard_Iframe').src = strURL;
    $('.Dashboard_Tile').removeClass('ActiveTile');
    $('#Dashboard_Tile_' + lngTileID).addClass('ActiveTile');

第一次加载 iframe 1 时,没有 iframe 2 的 src,我没有收到错误消息。但是,从设置 iframe 2 的 src 的那一刻起,我确实得到了错误。 我在加载到包含 jquery 的 iframe 2 的每个页面中都得到它。然而,在每个页面本身(iframe 的 src)中,它只包含一次。

我认为导致此错误的不是代码中的特定内容,而是我以错误方式应用的原则,这就是为什么我没有发布太多代码的原因。如果需要,我可以在这里发布我的任何代码。

干杯

【问题讨论】:

【参考方案1】:

这个错误可能是因为您使用的是旧版本的jquery.min.js

尝试将其更改为更高版本:http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js,它应该可以工作。如果您仍然看到错误,请告诉我们!

【讨论】:

以上是关于Firefox iframe 中的“TypeError: c.defaultView.getComputedStyle(...) is null”错误的主要内容,如果未能解决你的问题,请参考以下文章

当鼠标悬停在 Firefox 中的嵌入式 iframe 上时,防止父页面滚动

iframe 上的 onload 事件在 ie 和 firefox/google chrome 中的工作方式不同

Firefox iframe 中的“TypeError: c.defaultView.getComputedStyle(...) is null”错误

iframe 调整大小在 Mozilla Firefox 中的第二次加载期间不起作用

iframe 导航到书签位置在 Firefox 中不起作用

防止浏览器中的 iframe 缓存