Денни Гудман "JavaScript Библия пользователя"

НАЗАД СОДЕРЖАНИЕ ВПЕРЕД
страница 153

В листинге 8.3 ситуация несколько сложнее, поскольку сценарий создает подокно, в которое записывается целый документ, сгенерированный сценарием. Чтобы ссылка на новое окно была доступна для всех функций, переменную newWindow объявляют как глобальную. Сразу после загрузки страницы, обработчик события onload вызывает функцию makeNewWindow(). Эта функция создает пустое подокно. Третьему параметру метода window.open() добавлено свойство, которое дает инструкцию строке состояния подокна на отображение данных.

Кнопка на странице используется для вызова метода subWrite. Первым заданием, которое он выполняет, является проверка свойства closed подокна. Это свойство (которое введено только в последних версиях браузеров) возвращает значение true, если окно, на которое сделана ссылка, закрыто. Если это так (пользователь самостоятельно закрыл окно), то будет вызвана функция makeNewWindow() и окно будет снова открыто.

При открытом окне в виде строчной переменной вызывается новое содержимое. Как и в листинге 8.2, содержимое записывается в один подход (хотя это и не является обязательным для отдельного окна), после чего сразу вызывается метод close(). Обратите внимание на важную, особенность: как в методе write(), так и в методе close() подокно задается в явном виде.

<html>

  <head>
    <title>Writing to Subwindow</title>
    <script type="text/javascript">
      var newWindow;
      function makeNewWindow() {
        newWindow = window.open("","","status,height=200,width=300");
      }
      function subWrite() {
        //Создается новое окно в том случае, если кто-то его закрыл
        if (newWindow.closed) {
          makeNewWindow();
        }
        //Выведение окна на передний план
        newWindow.focus();
        //Вызов содержимого для нового окна
        var newContent = "<html><head><title>A New Doc</tile></head>";
        newContent += "<body bgcolor=' coral'><h1>This document 
          is brand new.</h1>";
        newContent += "</body></html>";
        //Запись HTML в новый документ окна
        newWindow.document.write(newContent);
        newWindow.document.close();
        //Закрытие потока
      }
    </script>
  </head>
  
  <body onload="makeNewWindow()">
    <form>
      <input type="button" value="Write to Subwindow" 
        onclick="subWrite()">
    </form>
  </body>
  
</html>

Листинг 8.3. Использование метода dociunent.write() с другим окном

страница 153
НАЗАД СОДЕРЖАНИЕ ВПЕРЕД

Денни Гудман "JavaScript Библия пользователя"

Только на OZON.ru! Все спецпредложения на DVD Все серии Пуаро

поиск на сайте

Рейтинг@Mail.ru Rambler's Top100 Счетчик тИЦ и PR
Сайт управляется системой uCoz