Я просто проверял, было ли допустимым поместить элемент <iframe>
в элемент <noscript>
в качестве запасного варианта для отображения динамического содержимого.Он корректно подтвержден с типом документа HTML 5, но для HTML 4.01 я получаю следующую ошибку:
Строка 9, столбец 35: элемент "IFRAME" не определен
Вы использовали элемент, указанный выше, в своем документе, но тип используемого вами документа не определяет элемент с таким именем.Эта ошибка часто вызывается:
- неправильным использованием типа документа "Строгий" с документом, в котором используются фреймы (например, для получения элемента "" необходимо использовать тип документа "Frameset"),
- с использованием проприетарных расширений производителя, таких как "" или "" (обычно это исправляется с помощью CSS для достижения желаемого эффекта).
- с использованием тегов верхнего регистра в XHTML (в атрибутах и элементах XHTML все должны быть в нижнем регистре).
Это то, что я сократил до HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
<iframe name="test" src="test.htm"></iframe>
</div>
</body>
</html>
Элемент <iframe>
определен в спецификации HTML 4.01 по следующему URL: http://www.w3.org/TR/html401/present/frames.html#h-16.5.
Он проходит с переходным типом документа, поэтому я предполагаю, что мой вопрос: «Почему он запрещен в строгом типе документа, даже если он определен в спецификации?».