JavaScript. Подробное руководство, 6-е издание, стр. 532

<b>onmessage</b>

Когда родительский поток выполнения вызывает метод post

<b>Message()</b>
объекта
<b>Worker</b>
, представляющего данный фоновый поток выполнения, в данном объекте
<b>WorkerGlobalScope</b>
генерируется событие «message». Обработчику этого события будет передан объект
<b>MessageEvent</b>
, свойство data которого хранит копию аргумента message, переданного родительским потоком выполнения.

WorkerLocation

URL-адрес главного сценария в фоновом потоке выполнения

Объект

<b>WorkerLocation</b>
, на который ссылается свойство location объекта
<b>WorkerGlobalScope</b>
, похож на объект
<b>Location</b>
, на который ссылается свойство
<b>location</b>
объекта
<b>Window</b>
: он представляет URL-адрес главного сценария в фоновом потоке выполнения и определяет свойства, представляющие различные части этого URL-адреса.

В отличие от обычного объекта

<b>Location</b>
, объект
<b>WorkerLocation</b>
не преобразуется в строку автоматически. В фоновом потоке выполнения нельзя просто обратиться к имени
<b>location</b>
там, где подразумевается
<b>location.href</b>
.

Свойства

Следующие свойства имеют то же назначение, что и одноименные свойства объекта

<b>Location</b>
.

<b>readonly string hash</b>

Часть URL-адреса - идентификатор фрагмента, включающий начальный символ решетки.

<b>readonly string host</b>

Часть URL-адреса - имя хоста и порт.

<b>readonly string hostname</b>

Часть URL-адреса - имя хоста.

<b>readonly string href</b>

Полный текст URL-адреса, переданный конструктору

<b>Worker().</b>
Это единственное значение, которое фоновый поток выполнения получает непосредственно от родительского потока: все остальные значения передаются косвенно - посредством событий «message».

<b>readonly string pathname</b>

Часть URL-адреса - путь.

<b>readonly string port</b>

Часть URL-адреса - порт.

<b>readonly string protocol</b>

Часть URL-адреса - протокол.

<b>readonly string search</b>

Часть URL-адреса - строка поиска или запроса, включая начальный знак вопроса.

WorkerNavigator

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

Свойство

<b>navigator</b>
объекта
<b>WorkerGlobalScope</b>
ссылается на объект
<b>WorkerNavigator</b>
, который является упрощенной версией объекта
<b>Navigator</b>
окна.

Свойства

Следующие свойства имеют то же назначение, что и одноименные свойства объекта

<b>Navigator</b>
.

<b>readonly string appName</b>

См. описание свойства

<b>appName</b>
объекта
<b>Navigator</b>
.

<b>readonly string appVersion</b>

См. описание свойства

<b>appVersions</b>
объекта
<b>Navigator</b>
.

<b>readonly boolean onLine</b>

Имеет значение true, если броузер подключен к сети, и false - в противном случае.

<b>readonly string platform</b>

Строка, идентифицирующая операционную систему и/или аппаратную платформу, на которой выполняется броузер.

<b>readonly string userAgent</b>

Значение, используемое броузером для заголовка user-agent в НТТР-запросах.

XMLHttpRequest

<b>позволяет выполнять HTTP-запросы и получать ответы (EventTarget)</b>

Объект

<b>XMLHttpRequest</b>
позволяет из клиентских JavaScript-сценариев запускать HTTP-запросы и получать от веб-сервера ответы (которые не обязательно должны быть в формате XML). Объект
<b>XMLHttpRequest</b>
подробно рассматривается в главе 18, там же можно найти множество примеров применения этого объекта.

Создать объект

<b>XMLHttpRequest</b>
можно с помощью конструктора
<b>XMLHttpRequest()</b>
(сведения о том, как создавать объекты
<b>XMLHttpRequest</b>
в ІE6, приводятся во врезке в разделе 18.1) и затем использовать его следующим образом:

1. Вызывается метод

<b>ореп(),</b>
с помощью которого определяются URL-адрес и метод передачи запроса (обычно «GET» или «POST»).

2. В свойство

<b>onreadystatechange</b>
записывается ссылка на функцию, которая будет вызываться в процессе выполнения запроса.

3. Вызывается метод

<b>setRequestHeader(),</b>
если необходимо указать дополнительные параметры запроса.

4. Вызовом метода

<b>send()</b>
выполняется отправка запроса веб-серверу. Если был выбран метод отправки POST, этому методу можно дополнительно передать тело запроса. В процессе выполнения запроса будет вызываться функция-обработчик события
<b>onreadystatechange</b>
. Когда свойство
<b>readyState</b>
получит значение 4, выполнение запроса завершится.

5. После того как свойство

<b>readyState</b>
достигнет значения 4, можно проверить код состояния в свойстве
<b>status</b>
, чтобы убедиться, что запрос завершился успехом. В этом случае методом
<b>getResponseHeader()</b>
или
<b>getResponseHeaders()</b>
следует извлечь значения из заголовка ответа и с помощью свойства
<b>responseText</b>
или
<b>responseXML</b>
получить тело ответа.