Re: Философия IFRAME: за или против
От: retalik www.airbandits.com/
Дата: 25.05.05 05:30
Оценка: 40 (1)
Здравствуйте, Sinclair, Вы писали:

S>Теперь, собственно, вопросы:

S>- есть ли какие-либо контраргументы? (может быть, IFRAME плохо cross-browser compatible?)

Новые версии браузеров его вполне понимают. А вот со старыми он действительно, плохо совместим.
Если вы делаете Интранет-систему, то пофиг, конечно. Иначе придется выписывать требования к браузерам. Навскидку не скажу.

S>- есть ли опыт применения?

Да, мы его широко применяем. В-основном, для двух различных целей:

1) Сделать часть страницы редактируемой без перезагрузки основной страницы. Например, страница представляет собой систему Master-Detail, и при переходе по Master-ссылкам в основной странице обновляется только "подвал" с редактируемыми деталями в IFRAME. Очень удобно также прятать туда всякие тяжеловесные контролы, которые бы тормозили основную загрузку — например, DevExpress ASPxGrid. Минусы — у IFrame проблемы с вертикальным ресайзом, приходится делать его либо фиксированной высоты, либо хитро верстать в таблицу, либо использовать скрипты для ресайза.

2) Сделать часть страницы динамической без перезагрузки. Например, вставить в контент таблицу с результатами поиска или Tree-контрол, который динамически достраивает ветку при клике на "плюсик". Здесь применяется невидимый IFRAME размерами 1x1 пиксел, в который по мере необходимости грузится адрес нужной .aspx с параметром и полученный InnerHTML вставляется в нужное место. Фактически, такой доморощенный запрос к серверу без перезагрузки.

У этого подхода тоже есть минусы (IFRAME гадит в историю браузера и т.д.). Но в целом работает. Сейчас бы я применил другой способ: XmlHTTP или динамический рендеринг тэга <SCRIPT src="page.aspx?param=blablabla">. Недавно в форуме Dotnet.Web, кажется, пролетала интереснейшая ссылка. Gollum подскажет.
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.