Шаг 48.
Основы JavaScript.
Всплывающие окна

    На этом шаге мы рассмотрим создание всплывающего окна.

    Всплывающее окно не имеет органов управления и располагается над документом, в котором оно было создано, в том числе и над диалоговыми окнами. Щелчок кнопкой мыши где-либо вне этого окна или вызов другого приложения приводит к его закрытию. Оно также не отображается на панели задач Windows. После создания всплывающего окна его заполняют содержимым. При этом необходимо следить, чтобы содержимое вписывалось в заданные границы окна, поскольку оно не имеет полос прокрутки. Такие окна удобно использовать в качестве больших всплывающих подсказок для вывода контекстной справочной информации.

    Всплывающим окнам соответствует объект popup. Он создается только в сценарии для браузера Microsoft Internet Explorer с помощью метода window.createPopup().

    Ниже приводится пример сценария, создающего всплывающее окно, задающего его параметры и показывающего его на экране (рисунок 1):

<HTML>
<HEAD>
<TITLE>Пример всплывающего окна</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function window.onload()
{ 
  var mypopup = window.createPopup(); // Создание всплывающего окна
  var popupBody = mypopup.document.body;
  /*  Параметры окна  */
  popupBody.style.border = "solid  1px  green"; // Граница  окна
  popupBody.style.padding = "5px"; // Отступ текста
  popupBody.style.color = "green"; // Цвет текста в окне
  popupBody.style.background = "ffffd0"; // Цвет фона окна
  /*  Заполнение  содержимым:   */
  popupBody.innerHTML  =  "<H3>Здесь расположен некоторый текст</H3>";
  mypopup.show(200,100,400,70,document.body);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<H2>Вывод всплывающего окна</H2>
</BODY>
</HTML>
Текст этого документа можно взять здесь.

    Результат просмотра документа в браузере изображен на рисунке 1.


Рис.1. Результат просмотра документа в браузере

    Перечислим свойства объекта popup:

    Методы объекта popup:

    Заполнение всплывающего окна содержимым производится с помощью свойства innerHTML, принимающего в качестве значения строку, содержащую теги HTML. Более подробно это свойство будет рассмотрено позднее. Таким образом, в окно можно вставлять не только тексты, но и изображения и другие элементы.


    Приведем пример использования всплывающего окна.

    Ниже приводится пример HTML-документа (рисунок 2) с двумя кнопками, щелчок на которых вызывает одну и ту же функцию pop(xcontent), открывающую всплывающее окно и заполняющую его содержимым, которое задано параметром xcontent:

<HTML>
<HEAD>
<TITLE>Пример всплывающего окна</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function pop (xcontent)
{
  var mypopup = window.createPopup();
  var popupBody = mypopup.document.body;
  popupBody.style.border = "solid 2px green";
  popupBody.style.padding = "5px";
  popupBody.style.color = "blue";
  popupBody.style.background = "ffffd0";
  popupBody.innerHTML = "<p>" + xcontent + "</p>";
  mypopup.show(130,90,400,200,document.body);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<H2>Кнопки, вызывающие всплывающее окно</H2>
<FORM>
<INPUT TYPE="BUTTON" ONCLICK = "pop('Это обычный текст')" VALUE="Просто текст">
<BR><BR>
<INPUT TYPE="BUTTON" ONCLICK = "pop('<IMG SRC = connected_networks_big.jpg> 
Это сетевое соединение.')" VALUE="Картинка с текстом">
</FORM>
</BODY>
</HTML>
Текст этого документа вместе с графическим файлом можно взять здесь.


Рис.2. Пример всплывающего окна с изображением и текстом

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

<HTML>
<HEAD>
<TITLE>Пример всплывающего окна</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var mypopup = window.createPopup();
var popupBody = mypopup.document.body;
popupBody.style.border = "solid 2px green";
popupBody.style.padding = "5px";
popupBody.style.color = "blue";
popupBody.style.background = "ffffd0";

function pop (xcontent)
{
  popupBody.innerHTML = "<p>" + xcontent + "</p>";
  mypopup.show(130,90,400,200,document.body);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<H2>Кнопки, вызывающие всплывающее окно</H2>
<FORM>
<INPUT TYPE="BUTTON" ONCLICK = "pop('Это обычный текст')" VALUE="Просто текст">
<BR><BR>
<INPUT TYPE="BUTTON" ONCLICK = "pop('<IMG SRC = connected_networks_big.jpg> 
Это сетевое соединение.')" VALUE="Картинка с текстом">
</FORM>
</BODY>
</HTML>
Текст этого документа вместе с графическим файлом можно взять здесь.

    Со следующего шага мы начнем рассматривать динамическое изменение элементов документа.




Предыдущий шаг Содержание Следующий шаг