Создание скрытого фрейма IFRAME вручную

В заключение рассмотрим ситуацию, когда в странице необходимо создать скрытый плавающий фрейм IFRAME, чтобы загружать в него некоторое содержимое, и необходимо реализовать передачу извещения, когда содержимое будет загружено. В отличие от функции dojo.io.iframe.send, которая создает элемент IFRAME и тут же посылает запрос на получение содержимого, функция dojo.io.iframe.create создает элемент IFRAME и позволяет определить фрагмент программного кода JavaScript, который будет выполнен после того, как создание и наполнение фрейма завершится. Эта функция имеет следующую сигнатуру:
dojo.io.iframe.create(/*String*/frameName, /*String*/onLoadString,
/*String?*/url)//Возвращает DOMNode

В сущности, вы должны определить имя фрейма, строковое значение, которое будет рассматриваться как функция обратного вызова, и не обязательный адрес URL для фрейма. Ниже приводится пример, который загружает содержимое адреса URL в скрытый плавающий фрейм IFRAME на странице и по окончании загрузки вызывает функцию обрат
ного вызова:


Fun with IFRAME Transports!



(body)
(button onclick="javascript:create();")Create(/button)
(/body)


Чаще всего вы будете немедленно загружать содержимое в элемент IFRAME, но иногда бывает необходимо просто создать пустой фрейм.


Если вы пользуетесь версией инструментального набора для локальной работы, то для создания пустого фрейма достаточно всего лишь опустить третий параметр в вызове функции dojo.io.iframe.create. Если же вы пользуетесь версией XDomain, то вам необходимо будет указать путь к локальному шаблону, представляющему содержимое. В каталоге с инструментальным набором этот шаблон находится в файле dojo/resources/blank.html, который можно скопировать в удобное для вас местоположение. Кроме того, прежде чем создавать IFRAME, в массив djConfig необходимо добавить дополнительный параметр настройки, как показано в примере следующего раздела.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
DeferredList
JSON
OpenAjax Hub
Внедрение объектов Deferred в функции XHR
Вызов удаленных процедур