2009-05-28 3 views
11

строка после IFRAME не отображается как в IE, так и в FF. обратитесь к приведенному ниже коду и дайте мне знать, не делаю ли я что-то неправильно.строка после IFRAME не отображается

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

ответ

20

необходимо закрыть тег iframe. в противном случае содержимое, которое появляется после него, считается «вещами, которые нужно показать», если iframe не поддерживается.

(кстати, я думаю, если вы используете XHTML для записи iframe < ... />, тогда IE возьмет его как HTML. IE не понимает XHTML как XHTML. Он понимает его как HTML.)

+0

Да, это работает после того, как я установил отдельный тег конца. Я думал, что и сам конец, и отдельный конечный тег одинаковы, я считаю, что он применим для всех элементов. почему он не работает с IFRAME, есть ли для этого стандарт/документация W3C? – afin

+0

см. Обновление выше –

+0

Другими словами, вы не можете использовать самозакрывающуюся версию тега. Я ударил это сам сегодня. Я рад, что нашел этот вопрос. – Andy

5

создать IFRAME с отдельным закрывающим тэгом:

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

Есть некоторые теги (IFrame и текстовое поле приходят на ум), которые не любят, когда вы используете их компактную форму.

+0

да это работает. в чем причина этого? Есть ли для этого стандарт W3C? – afin

2

Я интеграции Facebook Connect в моей веб-странице с помощью IFrame тега, например:

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

Он работал во всех браузерах, кроме IE8.

Теперь я узнал, что ВАМ ПРЕДСТАВИТЬ текст как содержимое тегов. Тогда он отлично работает!

Пример:

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

или то, что я использую в настоящее время заключается в следующем (отображение только пробел):

Решение:

<iframe src="..." style="...">&#160;</iframe> 
Смежные вопросы