Эмуляция модальных окон

akxxiv

Новичок
Эмуляция модальных окон

В ИЕ, со всеми его глюками и тд., есть одна замечательная штука - модальные окна. Ну, очень удобны они в приложениях с ограниченным количеством пользователей, таких как CMS и интранет приложениях. Но вот к сожалению встала необходимость поддержки других браузеров (FF и Опера).
Для FF, на сколько я слышал можно конечно написать расширение на XUL. Но это выход только для FF.

Значит надо писать на JS. Знаю, что написано уже много разных вариантов эмуляций, в частности в рамках различных фрэймворков. Но все равно не то.

Что мне нравится в ИЕ-шных модальных окнах, и что хотелось бы реализовать.

1. ИЕ-шное МО можно рассматривать как функцию, которая принемает параметры и отдает готовый результат. Внутри же МО может происходить что угодно, от заполнения форм до AJAX-обращений к серверу.... Но в результате вернется нужное значение. Т.е.
PHP:
var params = {параметры};
var res = openModal(url, params) // это надстройка над showModalDialog для удобства
if (res).....
Но это на JS врят ли получится, поэтому скорее всего придется извращаться с коллбэк функциями что-то типа такого
PHP:
  openModal(url, params, function(){/* действие по завершению */})
2. Хотелось бы изолировать все что происходит в JS-МО от родительского окна. Т.е. чтобы все что происходило в модальном окне, происходило в рамках объекта модального окна. Не знаю на сколько это реализуемо.

3. ИЕ-шное МО кэширует страницу. Т.е. если открыть еще раз то же МО оно откроется мгновенно. чего хотелось бы добиться и от эмуляции.

4. Хотельсь бы чтобы JS-МО само подтягивало необходимые для его работы скрипты и стили.

Вроде пока все что в голову пришло. Может кто-нибудь уже делал нечто подобное и поможет советом...
 

Beavis

Banned
посмотри как на яндекс.маркете сделано, может и поймешь...
только объясни сначала - почему ты эту тему поместил в раздел PHP ?
 

Ярослав

Новичок
http://www.dynamicdrive.com/dynamicindex8/dhtmlwindow/
Можна создавать как в пределах одного окна (доступные js css к примеру) так и совсем другое окно (фрейм)
А вот модал не помню ли там реализован, в крайнем случае можно перекрыть дивом на всю страницу.
 

akxxiv

Новичок
>> почему ты эту тему поместил в раздел PHP ?
>> причем тут Программирование на пхп ?

Извиняюсь. Собирался поместить в раздел JavaScript. Не пойму почему не туда поместился. Просьба к модератору перенести в соответствующий раздел.
 
Сверху