iFrame内容未在IE8中显示

时间:2012-06-25 14:22:49

标签: html iframe internet-explorer-8 cross-browser

我有一个包含iFrame的网站。

主页上有一些非常基本的JS,iframed页面也有简单的JS。

当我将iframe嵌入为usualy时:<iframe src="iframeURL" width="900" height="1000"></iframe>它适用于除IE8之外的所有浏览器。

我尝试了各种各样的事情:

  • 第一:禁用所有JS
  • 删除src属性并使用JS
  • 添加它
  • 使用<object>代替
  • 我使用proxy.php使内容看起来好像来自同一个域

无论我做什么,它都无法在IE8中运行。

有趣的是,我可以在单独的标签中打开我想要iframe的页面并且工作得很好。

如果我将src属性更改为“some_other_random_page_from_internet”,则可以正常工作。

另一件事是主机和iframe都使用postMessage进行通信,我可以看到通信工作正常,只是内容没有显示,但是当我用开发人员工具检查页面源时,我可以看到内容就在那里。

iframe的内容是否可能导致问题?它是一个基本的HTML +基本JS,JS禁用它不应该是一个问题。

任何想法我还能检查什么?

PS。我无法显示代码(NDA等)

2 个答案:

答案 0 :(得分:10)

找到它。

iframed内容有以下css规则:

html{ position: relative; }

删除它有很大帮助。

答案 1 :(得分:4)

对于Lukx's comment的可见性,真正的答案是在iframe上设置position:relative,因为您可能无法编辑html源页面,或者可能需要使用相对定位。

只需添加此CSS即可全部设置:

iframe {
    position: relative;
}

我在this answer

中写了一个问题的完整描述