Добавляем...


Расширения Window
Поскольку объект Window не попал под действие ни одного из стандартов — ни DOM, ни JavaScript — и ввиду его особой важности с точки зрения практики программирования, были предложены многочисленные расширения этого объекта. Большинство из этих расширений настолько новы и в такой степени фирменны, что им еще только предстоит завоевать умы Web-разработчиков. В данном разделе содержится обзор наиболее полезных расширений объекта Window, предложенных производителями браузеров.
Расширения окон IE: модальные, немодальные и всплывающие окна
Internet Explorer поддерживает несколько специальных видов окон. Одним из них является модальное окно. Как и стандартное диалоговое окно, это окно общего вида является модальным по отношению к странице: оно должно быть закрыто, чтобы можно было двигаться дальше. Основным синтаксисом создания модального диалогового окна является

window.showModalDiaIog(URL, аргументы, опции);

где
  • URL — URL-адрес документа для отображения в окне;
  • аргументы — любые объекты или значения, которые требуется передать модальному диалоговому окну;
  • опции — список опций оформления диалогового окна, разделенных точкой с запятой.
Вот простой пример:

window.showModalDialog("customdialog.htm",window,"dialogHeight: 150px;
dialogWidth: 300рх; center: yes; help: no; resizable: no; status: no;");

Метод showModalDialog() также возвращает значение. Это значение может быть установлено с помощью свойства window.returnValue документа. Возврат этого значения произойдет автоматически. Эта возможность позволяет без труда создать диалоговые окна типа prompt() и confirm(), возвращающие значения.

Немодальное окно существенно отличается (по поведению) от модального диалогового окна. Немодальноё окно всегда остается перед окном, из которого оно было создано, даже когда последнее получает фокус. Типичным вариантом использования немодального окна можно считать отображение справки или другой полезной информации. Однако, существенно отличаясь функциями, синтаксис вызова немодального диалогового окна Microsoft аналогичен синтаксису вызова модального диалогового окна:

ссылка = window.showModelessDialog(URL, аргументы, опции);

Параметры метода остаются теми же, но возвращаемое значение является ссылкой на созданное окно (на тот случай, если им придется позже управлять). Это значение подобно значению, возвращаемому window.open(). Вот простой пример создания немодального окна:

myWindow = window.showModelessDialog("customdialog.htm",window,"dialogH eight: 150px; dialogWidth: 300рх; center: yes; help: no; resizable: no; status: no;");

Последним типом специального окна, поддерживаемым Microsoft, является всплывающее окно общего вида. Всплывающие окна создаются с помощью метода window.createPopup(), который не требует аргументов и возвращает указатель на созданное окно:

var myPopup = window.createPopup();

Эти окна создаются, но изначально оказываются скрытыми. Их можно отобразить с помощью метода show() и скрыть с помощью метода hide(), как показано ниже:

myPopup.show(); // отображает всплывающий объект
myPopup.hide(); // скрывает всплывающий объект

Значение специальных всплывающих объектов Microsoft становится очевидным с учетом того, что вы получаете полный контроль над их представлением, вплоть до права удалить все элементы оформления окна. Авторы не рекомендуют читателю создавать окна без элементов оформления, несмотря на появление множества различных библиотек JavaScript, позволяющих разработчикам создавать полностью настраиваемые системы графического интерфейса пользователя (GUI). Отрицательные моменты использования элементов GUI для узла намного превосходят всю их визуальную привлекательность, так что подходите к ним с предельной осторожностью.
Ниже предлагается пример, демонстрирующий возможности применения всех этих специфических окон от Microsoft:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Специальные окна IE</title>
<meta http-equiv="content-type" content="text/html; " />
<script type="text/jscript">
<!--
var myPopup = window.createPopup();
function showPopup()
{
var popupBody = myPopup.document.body;
popupBody.style.backgroundColor = "#ffff99";
popupBody.style.border = "solid black 1px";
popupBody.innerHTML = "Щелкните вне этого окна или на кнопке 'Скрыть'";
myPopup.show(50, 100, 350, 25, document.body);
}
function makeModalDialog()
{
// modal.html содержит информацию о модальном диалоге
showModalDialog("modal.html",window,"status:false; dialogWidth:300px; dialogHeight:100px;help:no;status:no;");}
function makeModelessDialog()
{
var HTMLoutput = "";
myModelessDialog = showModelessDialog("blank.htm",window,"status:false; dialogWidth:200px; dialogHeight:300px;help:no;status:no;");
modelessBody = myModelessDialog.document.body;
modelessBody.style.backgroundColor = "#ffcc33"
HTMLoutput += "<html><head><title>Heмoдaльнoe диалоговое OKHO</title></head>";
HTMLoutput += "<body><h1>Baжнoe сообщение в этом немодальном окне</h1><hr />";
HTMLoutput += "<form><div align='center'><input type='button' value='close' onclick='self.close();' />";
HTMLoutput +="</div></form></body></html>";
modelessBody.innerHTML = HTMLoutput;
}
// -->
</script>
</head>
<body>
<form name="mainform" id="mainform" action="#" method="get">
<input type="button" value="Модальный диалог" onclick="makeModalDialog();" />
<input type="button" value="Немодальный диалог" onclick="makeModelessDialog();" />
<input type="button" value="Показать всплывающее окно" onclick="showPopup();" />
<input type="button" value="Cкрыть всплывающее окно" onclick="myPopup.hide();" />
</form>
</body>
</html>


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика