На главную Напишите нам! Напишите нам!
14-11-2012
колонтитул в word 2007, 0000002111

Поле location в URL загруженного документа - JavaScript

В поле location отображается URL загруженного документа. Если пользователь хочет вручную перейти к какой-либо странице (набрать ее URL), он делает это в поле location.

Вообще говоря, Location — это объект. Из-за изменений в версиях JavaScript класс Location входит как подкласс и в класс Window, и в класс Document. Мы будем рассматривать Location только как window.location. Кроме того, Location — это еще и подкласс класса URL, к которому относятся также объекты классов Area и Link. Location наследует все свойства URL, что позволяет получить доступ к любой части схемы URL.

Рассмотрим характеристики и способы использования объекта Location:

  • свойства;
  • методы;
  • – событий, характеризующих Location, нет.
Как мы видим, список характеристик объекта Location неполный.

Свойства

Предположим, что браузер отображает страницу, расположенную по адресу:

http://intuit.ru:80/r/dir/page?search#mark

Тогда свойства объекта Location примут следующие значения:

window.location.href = http://intuit.ru:80/r/dir/page?search#mark
window.location.protocol = http;
window.location.hostname = intuit.ru;
window.location.host = intuit.ru:80;
window.location.port = 80
window.location.pathname = /r/dir/;
window.location.search = search;
window.location.hash = mark;

Методы

Методы Location предназначены для управления загрузкой и перезагрузкой страницы. Это управление заключается в том, что можно либо перезагрузить документ (reload), либо загрузить (replace). При этом в историю просмотра страниц (history) информация не заносится:

window.location.reload(true);
window.location.replace('#top');

Метод reload() полностью моделирует поведение браузера при нажатии на кнопку Reload в панели инструментов. Если вызывать метод без аргумента или указать его равным true, то браузер проверит время последней модификации документа и загрузит его либо из кеша (если документ не был модифицирован), либо с сервера. Такое поведение соответствует простому нажатию на кнопку Reload.

Если в качестве аргумента указать false, то браузер перезагрузит текущий документ с сервера, несмотря ни на что.

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

<FORM><INPUT TYPE=button VALUE="Назад" onClick=history.back()></FORM>
Данный код отображает кнопку «Назад», нажав на которую мы вернемся на предыдущую страницу.

Управление окнами

Что можно сделать с окном? Открыть (создать), закрыть (удалить), положить его поверх всех других открытых окон (передать фокус).

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

  • alert();
  • confirm();
  • prompt();
  • open();
  • close();
  • focus();
  • setTimeout();
  • clearTimeout().

1. window.alert()

Метод alert() позволяет выдать окно предупреждения:

<A HREF="javascript:window.alert('Внимание')">
Повторите запрос!</A>
Все очень просто, но нужно иметь в виду, что сообщения выводятся системным шрифтом, следовательно, для получения предупреждений на русском языкенужна локализованная версия ОС.

2. window.confirm()

Метод confirm() позволяет задать пользователю вопрос, на который тот может ответить либо положительно, либо отрицательно:

<FORM>
<INPUT TYPE=button VALUE="Вы знаете JavaScript?"
onClick="if(window.confirm('Знаю все')==true)
{ document.forms[0].elements[0].value='Да'; }
else {
document.forms[0].elements[0].value='Нет';
};"><BR>
</FORM>
Все ограничения для сообщений на русском языке, которые были описаны для метода alert(), справедливы и для метода confirm().

3. window.prompt()

Метод prompt() позволяет принять от пользователя короткую строку текста, которая набирается в поле ввода информационного окна:

<FORM>
<INPUT TYPE=button VALUE="Открыть окно ввода" onClick=
"
document.forms[0].elements[1].value=window.prompt('Введите сообщение');"> <INPUT SIZE=30> </FORM>
Введенную пользователем строчку можно присвоить любой переменной и потом разбирать ее в JavaScript-программе.

4. window.open()

У этого метода окна атрибутов больше, чем у некоторых объектов. Метод open() предназначен для создания новых окон. В общем случае его синтаксис выглядит следующим образом:

open(«URL»,"window_name","param,param,...", replace);
где: URL — страница, которая будет загружена в новое окно, window_name — имя окна, которое можно использовать в атрибуте TARGET в контейнерах A и FORM.

Таблица 2.

Параметры Назначение
replace Позволяет при открытии окна управлять записью в массив History
param Список параметров
width Ширина окна в пикселах
height Высота окна в пикселах
toolbar Создает окно с системными кнопками браузера
location Создает окно с полем location
directories Создает окно с меню предпочтений пользователя
status Создает окно с полем статуса status
menubar Создает окно с меню
scrollbars Создает окно с полосами прокрутки
resizable Создает окно, размер которого можно будет изменять

Приведем следующий пример:

<FORM>
<INPUT TYPE=button VALUE="Простое окно"
onClick="window.open(
'about:blank','test1',
'directories=no,height=200,location=no,menubar=no,resizable=no,scrollbars=n
o,status=no,toolbar=no,width=200');
">
<INPUT TYPE=button VALUE="Сложное окно"
onClick="window.open(
'about:blank','test2',
'directories=yes,height=200,location=yes,menubar=yes,resizable=yes,scrollba
rs=yes,status=yes,toolbar=yes,width=200');
">
</FORM>

При нажатии кнопки «простое окно» получаем окно со следующими параметрами:

  • 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

5. window.close()

Метод close() — это оборотная сторона медали метода open(). Он позволяет закрыть окно. Чаще всего возникает вопрос, какое из окон, собственно, следует закрыть. Если необходимо закрыть текущее, то:

window.close();
self.close();

Если необходимо закрыть родительское окно, т.е. окно, из которого было открыто текущее, то:

window.opener.close();

Если необходимо закрыть произвольное окно, то тогда сначала нужно получить его идентификатор:

id=window.open();
...
id.close();

Как видно из последнего примера, закрывают окно не по имени (значение атрибута TARGET тут ни при чем), а используют указатель на объект.

6. window.setTimeout()

Метод setTimeout() используется для создания нового потока вычислений, исполнение которого откладывается на время (ms), указанное вторым аргументом:

idt = setTimeout("JavaScript_код",Time);

Типичное применение этой функции — организация автоматического изменения свойств объектов. Например, можно запустить часы в поле формы:

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;
}
...
<FORM NAME=c>
Текущее время:<INPUT NAME=f size=8><INPUT TYPE=button VALUE="Start/Stop"
onClick="flagss();myclock();">
</FORM>

Нужно иметь в виду, что поток порождается всегда, даже в том случае, когда часы стоят. Если бы он создавался только при значении переменной flag равном единице, то при значении 0 он исчез бы, тогда при нажатии на кнопку часы продолжали бы стоять.

7. window.clearTimeout

Метод clearTimeout() позволяет уничтожить поток, вызванный методом setTimeout(). Очевидно, что его применение позволяет более эффективно распределять ресурсы вычислительной установки. Для того чтобы использовать этот метод в примере с часами, нам нужно модифицировать функции и форму:

var idp1 = null;
function start()
{
d = new Date();
window.document.c1.f1.value =
d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
idp1=setTimeout("start();",500);
}
function stop()
{
clearTimeout(idp1);idp1=null;
}
...
<FORM NAME=c1>
Текущее время:<INPUT NAME=f1 size=8>
<INPUT TYPE=button VALUE="Start" onClick="if(idp1==null)start();">
<INPUT TYPE=button VALUE="Stop" onClick="if(idp1!=null)stop();">
</FORM>

В данном примере для остановки часов используется метод clearTimeout(). При этом, чтобы не порождалось множество потоков, проверяется значение указателя на объект потока.

колонтитулы в word 2007, 000000211111

Рекомендуем в повседневной деятельности:

Скачать - инструкцию по созданию загрузочной флешки = 50,02мин. 20.04.2014г.
Скачать - правила получение аттестата Webmoney  (30.61 MB) = 7. 5 мин. 11.01.2013г.
Скачать ссылки на каталоги - для регистрации сайта (69.5 MB) = 9. 7 мин. 01.10.2013г.
Скачать - wifi router настройка модема (41.72 MB) = 7 мин. 46 сек. 26.01.2013г.
Скачать - TDSSKiller диагностика, лечение систем (24,71 MB) = 6,02 мин. 01.12.2012г.
Скачать - пример готового проэкта в Lazarus (91,59 MB) = 1,31мин. 08.04.2013г.
Скачать - правила установки MySQL в Lazarus (20,17 MB) = 4,55 мин. 25.02.2013г.
Класс!
 
Система раскрутки
Яндекс.Метрика
Копирование возможно при указании прямой индексируемой гиперссылки
0000002