Описание объекта. Элемент IFRAME (IE4+ и NN6) позволяет загрузить HTML-содержимое из источника в тело другого документа. В некотором смысле элемент LAYER в NN4 является предшественником концепции IFRAME, но, в отличие от LAYER, он не является наследственно-позиционируемым. Его можно позицинировать как и любой другой элемент HTML, присвоив соответствующие атрибуты в таблицах стилей, заданных для элемента IFRAME. Если его положение не указано явно, явно IFRAME размещается в теле документа в месте, заданном исходным кодом страницы. В отличие от фрейма или наборов фреймов, IFRAME изменяются с помощью сценария, прилежащие к нему элементы смещаются соответствующим образом.
Что действительно отличает IFRAME от других элементов HTML, так это возможность загружать и отображать содержимое внешних HTML-файлов, причем, различные страницы могут загружаться, не влияя на содержимое основного документа. Страницы, загружаемые в IFRAME, могут содержать сценарии и любые другие средства любого HTML-документа (включая, например, XML-данные).
Элемент IFRAME имеет большой набор атрибутов, позволяющих автору страницы управлять видом, размером (HEIGHT и WIDTH) и, в некоторой степени, поведением фрейма. Большинство из них доступны сценарию как свойства элемента IFRAME.
Важно помнить, что во многом элемент IFRAME ведет себя как обычный объект FRAME, особенно, если речь идет о взаимосвязях с окнами. Если включить элемент IFRAME в документ главного окна, он будет представлен в объектной модели как фрейм:
window.frames[i]
window.frames[имяФрейма]
Внутри объекта IFRAME находится документ со всем его содержимым. Все ссылки на объекты документа внутри IFRAME должны использовать "портал" IFRAME.
И наоборот, сценарии документа внутри элемента IFRAME могут взаимодействовать с главным окном с помощью ключевого слова parent. Конечно же, заменить содержимое главного окна другим HTML-документом (используя, например, location.href), не уничтожая IFRAME, нельзя.