Я просто проверял, допустимо ли помещать элемент <iframe>
внутри элемента <noscript>
в качестве отступления для отображения динамического содержимого. Он отлично прошел проверку с типом документа HTML 5, но для HTML 4.01 я получаю следующую ошибку:
Строка 9, столбец 35: элемент IFRAME не определен
‹iframe name = test src = test.htm› ‹/iframe›Вы использовали указанный выше элемент в своем документе, но используемый вами тип документа не определяет элемент с таким именем. Эта ошибка часто бывает вызвана:
- неправильное использование типа документа Strict с документом, который использует фреймы (например, вы должны использовать тип документа 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.
Он проходит с переходным типом документа, поэтому я предполагаю, что мой вопрос: почему он запрещен в строгом типе документа, даже если он определен в спецификации ?.