IFRAME 之后的行不可见

Posted

技术标签:

【中文标题】IFRAME 之后的行不可见【英文标题】:line after IFRAME is not visible 【发布时间】:2010-10-29 17:29:41 【问题描述】:

IFRAME 之后的行在 IE 和 FF 中均不可见。参考下面的代码,让我知道我是否做错了什么。

<html>
<body>
line before iframe <br />
<iframe src="about:blank" />
<br /> line after iframe
</body>
</html>

【问题讨论】:

【参考方案1】:

我正在通过 iFrame 标签将 Facebook Connect 集成到我的网页中,如下所示:

<iframe src="..." style="..."></iframe>

它适用于除 IE8 以外的所有浏览器。

现在我发现,你必须提供一个文本作为标签的内容。然后就完美运行了!

例子:

<iframe src="..." style="...">Your browser does not support iFrames</iframe>

或者我现在使用的是以下(只显示一个空格):

解决方案:

<iframe src="..." style="...">&#160;</iframe>

【讨论】:

在 IE 11(11.165.17134.0,更新版本 11.0.75)中具有相同的功能。难以置信!【参考方案2】:

您需要关闭 iframe 标记。否则,当不支持 iframe 时,其后出现的内容将被视为“要显示的内容”。

(顺便说一句,我认为如果您使用 XHTML 编写 那么 IE 会将其视为 HTML。IE 不会将 XHTML 理解为 XHTML。它会将其理解为 HTML。)

【讨论】:

是的,在我放置单独的结束标签后它可以工作。我认为自我结束和单独的结束标签是相同的,我相信它适用于所有元素。为什么它不能与 IFRAME 一起使用,是否有任何 W3C 标准/文档? 换句话说,您不能使用标签的自闭合版本。我今天自己打了这个。很高兴我找到了这个问题。【参考方案3】:

使用单独的关闭标签创建 iframe:

<html>
<body>
line before iframe <br />
<iframe src="about:blank"></iframe>
<br /> line after iframe
</body>
</html>

当你使用它们的紧凑形式时,有些标签(我想到了 iframe 和 textarea)不喜欢它。

【讨论】:

是的,它有效。这背后的原因是什么?有这方面的 W3C 标准吗?

以上是关于IFRAME 之后的行不可见的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 检查 IFrame 在页面上是不是可见

iframe 在 Chrome 浏览器中不可见

如何使用 javascript 或 JQuery 从不可见的 iframe 中获取隐藏字段值

可见性更改时,IFrame 滚动条在 chrome 上消失

iOS - 删除带有焦点输入元素的 iFrame 使光标保持可见并保持键盘打开

当可见性发生变化时,IFrame滚动条会在Chrome上消失