46574 (JavaScript), страница 4
Описание файла
Документ из архива "JavaScript", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "46574"
Текст 4 страницы из документа "46574"
Листинг 2.4
onClick="window.open('about:blank','test1',
'directories=no, height=200, location=no, menubar=no,
resizable=no,scrollbars=no,status=no, toolbar=no,
width=200');
">
onClick="window.open('about:blank','test2',
'directories=yes,height=200,location=yes, menubar=yes,
resizable=yes,scrollbars=yes, status=yes,toolbar=yes,
width=200');
">
При нажатии кнопки "простое окно" получаем окно со следующими параметрами:
-
directories=no - окно без меню;
-
height=200 - высота 200 px;
-
location=no - поле location отсутствует;
-
menubar=no - без меню;
-
resizable=no - размер изменять нельзя;
-
scrollbars=no - полосы прокрутки отсутствуют;
-
status=no - статусная строка отсутствует;
-
toolbar=no - системные кнопки браузера отсутствуют;
-
width=200 - ширина 200.
При нажатии кнопки "сложное окно" получаем окно, где:
-
directories=yes - окно с меню;
-
height=200 - высота 200 px;
-
location=yes - поле location есть;
-
menubar=yes - меню есть;
-
resizable=yes - размер изменять можно;
-
scrollbars=yes - есть полосы прокрутки;
-
status=yes - статусная строка есть;
-
toolbar=yes - системные кнопки браузера есть;
-
width=200 - ширина 200.
2.5.5 window.close()
Метод close( ) — это оборотная сторона медали метода open( ). Он позволяет закрыть окно. Чаще всего возникает вопрос, какое из окон, собственно, следует закрыть. Если необходимо закрыть текущее, то:
window.close();
self.close();
Если необходимо закрыть родительское окно, т.е. окно, из которого было открыто текущее, то:
window.opener.close();
Если необходимо закрыть произвольное окно, то тогда сначала нужно получить его идентификатор:
id=window.open();
...
id.close();
Как видно из последнего примера, закрывают окно не по имени (значение атрибута TARGET тут ни при чем), а используют указатель на объект.
2.5.6 window.focus()
Метод focus( ) применяется для передачи фокуса в окно, с которым он использовался. Передача фокуса полезна как при открытии окна, так и при его закрытии, не говоря уже о случаях, когда нужно выбирать окна. Рассмотрим пример.
Открываем окно и, не закрывая его, снова откроем окно с таким же именем, но с другим текстом. Новое окно не появилось поверх основного окна, так как фокус ему не был передан. Теперь повторим открытие окна, но уже с передачей фокуса:
Листинг 2.5
function myfocus(a)
{
id = window.open("","example", "scrollbars,width=300,
height=200");
//открываем окно и заводим переменную с указателем на него
//если окно с таким именем существует, то новое окно не
//создается,а открывается поток для записи в окно с этим именем
if(a==1)
{
id.document.open();
//открываем поток ввода в уже созданное окно
id.document.write("
//Пишем в этот поток
}
if(a==2)
{
id.document.open();
id.document.write("
}
if(a==3)
{
id.focus();
//передаем фокус, затем выполняем те же действия,
//что и в предыдущем случае
id.document.open();
id.document.write("
}
id.document.write("
onClick='window.close();' VALUE='Закрыть окно'>");
id.document.close();
}
Поскольку мы пишем содержание нового окна из окна старого (родителя), то в качестве указателя на объект используем значение переменной id.
2.5.7 window.setTimeout()
Метод setTimeout( ) используется для создания нового потока вычислений, исполнение которого откладывается на время (ms), указанное вторым аргументом:
idt = setTimeout("JavaScript_код",Time);
Типичное применение этой функции — организация автоматического изменения свойств объектов. Например, можно запустить часы в поле формы:
Листинг 14.6
var flag=0;
var idp=null;
function myclock()
{
if(flag==1)
{
d = new Date();
window.document.c.f.value = d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
}
idp=setTimeout("myclock();",500);
}
function flagss()
{
if(flag==0) flag=1; else flag=0;
}
...