Роботландский Университет © А.А.Дуванов

СПРАВОЧНИК

содержание
конструкции | операции | функции | слова
Date | Array | String | Math
window | document | коллекции | event | history | location | navigator | screen
события

объект window

Объект window находится в вершине иерархии и содержит в себе все другие объекты браузера:

объектная модель браузера

Объект window описывает текущее окно браузера и его содержимое.

Справочные разделы снабжены иллюстрирующими примерами с пометками:

Если рядом с пометкой стоит цифра, то она обозначает версию браузера, начиная с которой метод или свойство работают корректно. Если цифры нет, описание действует в браузерах начиная с версии 3.

Перейдя на страницу примера, можно посмотреть исходный текст программы, выбрав позицию В виде HTML в меню браузера Вид.

свойства объекта

свойство описание
self Свойство self является указателем на текущее окно. Пример использования этого свойства показан в разделе перемещение фокуса.
opener Свойство opener является указателем на окно родителя. Используя этот указатель, можно в созданном окне работать со всем тем, что принадлежит “родителю”, например, использовать “родительские” скриптовые функции и переменные.

примеры

IE NN
status

defaultStatus
Свойства status и defaultStatus содержат соответственно временное и постоянное содержимое статусной строки. Временное содержимое меняется при наезде мышиного курсора на ссылку или при выдаче браузером диагностических сообщений.

примеры

IE
dialogArguments Свойство dialogArguments возвращает аргументы, проходящие через диалоговое окно, как массив. Смотрите пример к методу showModalDialog.
returnValue Свойство returnValue определяет возвращаемое из окна значение. Смотрите пример к методу showModalDialog.

методы объекта

метод браузер описание
open IE NN Открывает новое окно браузера.
close IE NN Закрывает окно браузера.
alert, prompt, confirm IE NN Стандартные диалоговые окна.
showModalDialog IE4 Отображает новое модальное диалоговое окно.
blur IE NN Уводит фокус из окна.
focus IE NN Переводит фокус на окно.
scroll IE4 NN4 Показывает документ в окне с заданными абсолютными смещениями от его начала.
scrollBy IE4 NN4 Перемещает документ в окне на заданные величины по отношению к текущему положению.
setInterval IE4 NN4 Указывает функции выполняться периодически через заданное количество миллисекунд.
clearInterval IE4 NN4 Отменяет действие метода setInterval.
setTimeout IE NN Запускает функцию через заданное количество миллисекунд.
clearTimeout IE NN Отменяет действие метода setTimeout.

открыть новое окно и закрыть его


var переменная = open();
var переменная = open(файл);
var переменная = open(файл, имя_окна);
var переменная = open(файл, имя_окна, параметры_окна);

переменная.close();

параметры окна задаются в строке параметры_окна в виде:

"параметр1=значение1,параметр2=значение2,...,параметрN=значениеN"

Замечание. Не рекомендуется оставлять пробел после разделительной запятой.

Описание параметров:

параметр значение описание
width число Ширина окна в пикселах. Минимальное значение — 100.
height число Высота окна в пикселах. Минимальное значение — 100.
left число Задает горизонтальную координату левого верхнего угла окна в пикселах.
top число Задает вертикальную координату левого верхнего угла окна в пикселах.
scrollbars yes, no, 1, 0 Задает отображение линеек протяжки.
resizable yes, no, 1, 0 Позволяет указать, может ли окно менять свой размер.
menubar yes, no, 1, 0 Позволяет указать, отображается ли полоса меню.
location yes, no, 1, 0 Позволяет указать, отображается ли полоса для ввода адреса.
status yes, no, 1, 0 Позволяет указать, отображается ли полоса статуса.
toolbar yes, no, 1, 0 Позволяет указать, отображается ли полоса кнопок.
fullscreen yes, no, 1, 0 Показывается ли новое окно на полный экран или как обычное окно. По умолчанию — как обычное окно.

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

var win = open("", "",
     "width      = height     =" +
     "left       = top        =" +
     "scrollbars = resizable  =" +
     "menubar    = location   =" +
     "status     = toolbar    ="+
     "fullscreen =");


Замечание. В испытателе строка параметры_окна представлена в виде “суммы” (конкатенации) строк для удобства размещения испытателя на экране. Так можно делать и в своих программах, чтобы в HTML-файле не было слишком длинных строчек. Там, где требуется разместить строку, всегда можно написать несколько строчек, соединяя их знаком “+”.

Метод close закрывает открытое окно. При этом обращение close() или window.close() закрывает текущее окно. Обращение win.close() или window.win.close() — закрывает окно win, которое было создано из текущего окна при помощи метода open.

диалоговые окна


alert(сообщение);
var переменная = confirm(сообщение);
var переменная = prompt(сообщение);
var переменная = prompt(сообщение, ввод_по_умолчанию);

Функция alert выводит на экран модальное окно с заданным сообщением. Внутри окна — всего одна кнопка Ok. Пользователь читает сообщение и убирает окно нажатием на кнопку Ok или клавишей Esc на клавиатуре.


alert("\nЯ скачу, но \я скачу иначе,\n"+
      "По пол\ям, по лужам, по росе...\n"+
      "Говор\ят: он иноходью скачет.\n"+
      "Это значит иначе, чем все.\n\n"+
      "В.Высоцкий");

Функция confirm выводит на экран модальное окно с заданным сообщением-вопросом. Внутри окна — две кнопки Ok и Отмена. Функция возвращает:


if(confirm("Вам квасу?")) alert("Квас кончилс\я!");
else                      alert("А кваса все равно нет!");

Функция prompt выводит на экран модальное окно с заданным сообщением и строкой ввода. Внутри окна — кнопки Ok и Отмена. Функция возвращает:


var str = prompt("Как теб\я зовут?", "Вен\я");
if(str==null) alert("А \я хотел познакомитьс\я!");
else          alert("Товарищ "+str+
                    "!\nУ теб\я спина бела\я!");

модальные диалоговые окна


var переменная = showModalDialog(файл, аргумент, параметры_окна);

параметры окна задаются в строке параметры_окна в виде:

"параметр1=значение1;параметр2=значение2;...;параметрN=значениеN"
Замечание. Не рекомендуется оставлять пробел после разделительной точки с запятой.

Описание параметров:

параметр значение описание
dialogWidth число Ширина окна.
dialogHeight число Высота окна.
dialogTop число Вертикальная координата левого верхнего угла окна.
dialogLeft число Горизонтальная координата левого верхнего угла окна.
center yes, no, 1, 0 Выравнивать ли окно по центру экрана.
help yes, no, 1, 0 Показывать ли кнопку вызова подсказки в заголовке окна.

В качестве примера использования метода рассмотрим построение собственной функции, подобной встроенной функции prompt.

Опишем эту функцию так:

/* Параметры функции:
   message      - надпись на панели
   defaultInput - ввод пользователя по умолчанию
   features     - параметры модального окна

   Возвращает:
   - null, если нажата кнопка "Отмена" или клавиша "Esc".
   - строку, которую ввел пользователь, если нажата кнопка "Ok".
   - undefined, если пользователь закрыл окно самостоятельно.
*/

function myprompt(message, defaultInput, features)
{
  var args = new Array(message, defaultInput);
  return window.showModalDialog("myprompt.htm", args, features);
}

Функция myprompt переадресует свои аргументы методу showModalDialog при этом:

Ниже приводится испытатель для функции myprompt.

var ret=myprompt(
  "",

  "",

  "");
alert(ret);
Замечание. При задании координат и размеров окна используйте следующие обозначения для единиц измерения:

перемещение фокуса

Метод focus перемещает фокус на окно, по отношению к которому этот метод используется. Когда окно создается, оно автоматически становится активным, получает фокус. Метод blur действует обратным образом: уводит фокус из того окна, по отношению к которому применяется.

Создаем пустое окно, но фокус оставляем в текущем окне:


var newWin;
var okno = "scrollbars=0,fullscreen=0,status=0,toolbar=0,"+
           "top=0,left=0,width=580,height=120,resizable=1";
newWin=window.open("", null, okno);
self.focus();

Переместим фокус в созданное окно:


newWin.focus();

Уберем фокус из созданного окно:


newWin.blur();

Выведем что-нибудь в созданное окно:


newWin.document.open();
newWin.document.write("<BODY background=./pic/paper.gif>"+
                      "<IMG src=./pic/roboland.jpg"+
                      " width=520 height=80 border=0"+
                      " alt=''></BODY>");
newWin.document.close();
Снова переведем фокус в созданное окно:


newWin.focus();
И, наконец, закроем его:


newWin.close();

скроллирование

Формат команд скроллирования:


scroll(координата_по_горизонтали, координата_по_вертикали);
scrollBy(смещение_по_горизонтали, смещение_по_вертикали);

Координаты и смещения задаются в пикселах.

Создаем окно, содержимое которого задается файлом win04.htm:


var newWin;
var okno = "scrollbars=1,fullscreen=0,status=1,toolbar=1,"+
           "top=0,left=0,width=600,height=300,resizable=1";
newWin=window.open("win04.htm", null, okno);

Устанавливаем вертикальную линейку протяжки так, чтобы документ в окне начинался через определенное число пикселов по вертикали. Метод scroll производит абсолютную установку вне зависимости от первоначального положения документа в окне.


newWin.scroll(0,);
newWin.focus();

Метод scrollBy производит относительное перемещение документа в окне браузера. Попробуйте нажать кнопку Go несколько раз.


newWin.scrollBy(0,);
newWin.focus();

Закроем окно примера:


newWin.close();

таймеры

Метод setTimeout создает таймер, который выполняет заданные действия по истечении указанного числа миллисекунд. Метод clearTimeout выключает созданный таймер.


переменная = setTimeout("вызов_функции", число_миллисекунд);
clearTimeout(переменная);

Для выполнения действий, повторяющихся с определенным интервалом времени, используется метод setInterval. Метод clearInterval отключает действие метода setInterval.


переменная = setInterval("вызов_функции", число_миллисекунд);
clearInterval(переменная);
примеры

 

 

содержание письмо автору об авторах