Сценарии JavaScript в активных страницах Web

Как закрыть окно браузера


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

Рис. 2.4. Документ HTML, способный закрыть главное окно браузера

Если нажать на кнопку с названием “Close Navigator Window”, сценарий отобразит на экране диалоговую панель, показанную на рис. 2.5.

Рис. 2.5. Диалоговая панель с вопросом о закрытии главного окна браузера

Данная диалоговая панель отображается с помощью метода confirm. Если вы нажмете на кнопку OK, сценарий попытается закрыть окно браузера при помощи метода close.

Заметим, что браузер Microsoft Internet Explorer версии 4.0 запрашивает разрешение на закрытие окна еще раз (рис. 2.6).

Рис. 2.6. Второй вопрос о закрытии главного окна браузера

Исходный текст документа HTML, закрывающего главное окно браузера, представлен в листинге 2.3.

Листинг 2.3. Файл chapter2/CloseAll/CloseAll.html

<HTML>



  <HEAD>

    <TITLE>Закрываем окно браузера</TITLE>

    <SCRIPT LANGUAGE="JavaScript">

    <!--

    function CloseNavWnd()

    {

      if(confirm("Вы действительно желаете закрыть окно браузера?"))

        window.close();

    }

    // -->

    </SCRIPT>

  </HEAD>

  <BODY BGCOLOR=white>

    <H1>Закрываем окно браузера</H1>

    <P>Для того чтобы закрыть окно браузера,

нажмите кнопку &quot;Close Navigator Window&quot;,

расположенную ниже:

    <FORM NAME="selectForm">

      <P><INPUT TYPE="button" VALUE="Close Navigator Window"

      onClick="CloseNavWnd();">

    </FORM>   

  </BODY>

</HTML>

В области заголовка документа определена функция CloseNavWnd:

function CloseNavWnd()

{

  if(confirm("Вы действительно желаете закрыть окно браузера?"))

    window.close();

}

Эта функция обращается к методу confirm, который выводит на экран диалоговую панель с запросом на закрытие окна. Если пользователь нажмет кнопку OK, метод возвратит значение true, а если на кнопку Cancel - значение false.

В случае положительного ответа функция CloseNavWnd вызывает метод close для текущего объекта window. В данном случае таким объектом является окно браузера. Заметим, что вместо объекта window можно указывать объект self, так как это синоним текущего окна:

self.close();

Для того чтобы функция CloseNavWnd вызывалась после того как пользователь нажимает кнопку, в строке определения этой кнопки мы указали обработчик события onClick:

<P><INPUT TYPE="button" VALUE="Close Navigator Window"

  onClick="CloseNavWnd();">

Таким образом, сценарии JavaScript делают формы полезными даже в тех случаях, когда вы не применяете программы CGI или расширения ISAPI.



Содержание раздела