Подробно о создании uWnd (аякс) окошек (примеры реализации)
Немного теории
Диалоговое окно(англ. dialog box) - в графическом пользовательском интерфейсе специальный элемент интерфейса, окно, предназначенное для вывода информации и (или) получения ответа от пользователя. Получил своё название потому, что осуществляет двустороннее взаимодействие компьютер-пользователь («диалог»): сообщая пользователю что-то и ожидая от него ответа.
Диалоговые окна подразделяются на модальные и не модальные, в зависимости от того, блокируют ли они возможность взаимодействия пользователя с приложением (или системой в целом) до тех пор, пока не получат от него ответ.
Простейшим типом диалогового окна является окно сообщения (англ. message box, англ. alert box), которое выводит сообщение и требует от пользователя подтвердить, что сообщение прочитано.
Не модальные(англ. modeless) диалоговые окна используются в случаях, когда выводимая в окне информация не является существенной для дальнейшей работы системы. Поэтому окно может оставаться открытым, в то время как работа пользователя с системой продолжается.
Модальным называется окно, которое блокирует работу пользователя с родительским приложением до тех пор, пока пользователь это окно не закроет.
Юкозовские юВинд (аякс) окна, вполне можно отнести к разряду диалоговых окон. Они тоже могут быть «модальными» и «не модальными»,что указывается в параметрах вызова, но об этом позже. Сейчас же, покажу как создавать простейшие юВинд окошки, и немного расскажу о функциях вызова.
iconstring - иконка для окна. Отображается в заголовке.
{url:'http://my_site.ucoz.ru/file.xml'} - ссылка на xml-документ c контентом создаваемого окошка - только с вашего домена ...
Обращаю внимание: Дополнительные параметры в функции вызова юВинд окошка перечисляются через запятую. Строковые значения (string) - в одинарных кавычках.
Функцию вызова юВинд окна можно прописать как контекстом (прямо в коде элемента, как показано выше), так и отдельной функцией, что зачастую более удобно, так как её можно вынести из кода страницы в отдельный JavaScript-файл. Нарпимер:
Code (HTML)
<script type="text/javascript"> function popUp(el){var title=el.title||'uWnd',src=el.href||false; if(src){new _uWnd('uWnd',title,500,300,{max:1,min:1,popup:0,autosize:0,resize:0,closeonesc:1,align:'center'},'<iframe src="'+src+'" frameborder="0" scrolling="auto" allowtransparency="true" style="border:0 none;margin:0;padding:0;width:100%;height:255px;"></iframe>');return false;}}; </script> <a title="Контент - ифрейм «Что такое фреймы»" href="/_content/_publ/_files/01/uWnd_frame.html" onclick="popUp(this);return false;" target="_blank">Окошко номер 7</a>
Как и было написано выше, контент внешнего XML-файла может быть любым, как статичный текст, так и различные функции для расширения/изменения возможностей того или иного объекта/элемента на странице.
И, на последок, достаточно очевидное, но зачастую забываемое - это «name»- уникальное имя окошка. Нигде не отображается, но используется при работе с такими окнами, взаимодействия с определённым окном.
Как показано в примере выше (№ 8), при выборе региона,через 300мс окошко закрывается. Реализовано это действие функцией:
Code (JavaScript)
setTimeout("_uWnd.close('uWnd_region')",300);
Где:
_uWnd.close('uWnd_region') - функция закрытия окна с именем «uWnd_region», которое задаётся при открытии (первый аргумент при создании окна):
Code (HTML)
<a href="javascript://" onclick="new_uWnd('uWnd_region','Выбрать регион',350,470,{modal:1,popup:1,autosize:1,shadow:1},{url:'/_content/_publ/_files/01/uWnd_region.xml'});return false;">» Выбрать регион «</a>
Добрый день, может Вы мне тоже чем нибудь поможете, проблема такая, создал аякс окно, в нем розместил фреим, после открытия аякс окна фрейм перекидывает на другой сайт, можно ли как то заблокировать этот переход
после регистрации человека перекидывает в этом же аякс окне на страницу входа, там у меня стоит вот эта кнопка
Code
<a href="javascript://" onclick="_uWnd.close(\'spoutreg\');new _uWnd(\'LF\',\' \',400,250,{autosize:0,closeonesc:1,resize:1},{url:'/log_form.xml'});return false;">Ввести данные для входа</a>
надо чтобы она закрывала предыдущее окно и открыла новое с формой входа, но почему то не происходит ни того ни другого! Иначе, если не закрыть предыдущее окно то сайт перезагрузится в нем
Приветствую! Отличная статья, все варианты попробовал. likbezz, подскажи пожалуйста Вставил jQuery в ajax-окно с функцией load. Проблема в том, что размер аякс окна определяется до того, как подгружается html по функции load. Появляется полоса прокрутки. Это можно как-то устранить?