Чтение онлайн

на главную - закладки

Жанры

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

// Этот обработчик событий будет вызван несколько раз, по одному

// для каждой записи, соответствующей запросу, и еще один раз

// с пустым курсором, указывающим на окончание результатов,

var cursor = request.result // Курсор в свойстве

request.result if (!cursor) return; // Нет курсора = нет результатов

var object = cursor.value //
Получить совпавшую запись

callback(object); // Передать ее указанной функции

cursor.continue; // Запросить следующую запись

};

});

}

// Эта функция используется обработчиком onchange в документе ниже.

// Она выполняет запрос к БД и отображает результаты

function displayCity(zip) {

lookupCity(zip, function(s) { document.getElementById('city').value=s; });

}

// Это другая функция, используемая обработчиком onchange в документе ниже.

// Она выполняет запрос к БД и отображает результаты

function displayZipcodes(city) {

var output = document.getElementById("zipcodes");

output.innerHTML = "Найденные индексы:";

lookupZipcodes(city, function(o) {

var div = document.createElement("div");

var text = o.zipcode + ": + o.city + ", " + o.state;

div.appendChild(document.createTextNode(text));

output.appendChild(div);

});

}

// Настраивает структуру базы данных и заполняет ее данными, затем передает базу данных

// функции f. Эта функция вызывается функцией withDB, если база данных еще не была

// инициализирована. Это самая хитрая часть программы, поэтому мы оставили ее напоследок,

function initdb(db, f) {

// Загрузка информации о почтовых индексах и сохранение ее в базе данных может

// потребовать некоторого дополнительного времени при первом запуске этого

// приложения. Поэтому необходимо вывести сообщение, извещающее о выполнении операции,

var statusline = document.createElement("div");

statusline.style.cssText =

"position:fixed; left:0px; top:0px; width:100%;" +

"color:white; background-color: black; font: bold 18pt sans-serif;" +

"padding: 10px; ";

document.body.appendChild(statusline);

function status(msg) { statusline.innerHTML = msg.toString; };

status("Инициализация
базы данных почтовых индексов");

// Единственное место, где можно определить или изменить структуру

// базы данных IndexedDB - обработчик onsucess запроса setVersion.

var request = db.setVersion("1"); // Попробовать изменить версию БД

request.onerror = status; // Вывести сообщение в случае ошибки

request.onsuccess = function { // Иначе вызвать эту функцию

// База данных почтовых индексов включает единственное хранилище.

// Оно хранит объекты следующего вида: {

// zipcode: "02134", // Отправьте на телепередачу Zoom! [60] :-)

60

В 1972-1978 гг. телекомпания WGBH-TV в Бостоне выпускала детское телешоу «ZOOM». Детям предлагалось после шоу «выключить телевизор и сделать то, о чем рассказывалось в передаче...». Дети, обычно семеро, участвовавшие в шоу, играли в игры, ставили пьесы, рассказывали стихи, ставили научные эксперименты, вели беседы на такие темы, как больницы, предрассудки и другие, предлагаемые телезрителями. Передача имела призыв со словами: «Напишите на конверте ZOOM, Зет-Дабл-Оу-М, Бокс 3-5-0, Бостон, Масс 0-2-1-3-4 и отправьте его на ZOOM!». Весь текст проговаривался, кроме индекса, который пропевался. Описание в Википедии:(1972_TV_series).
– Прим, перев.

// city: "Allston",

// state: "MA",

// latitude: "42.355147",

// longitude: '-71.13164”

// }

//

// Свойство "zipcode" используется в качестве ключа базы данных

// Кроме того, создается индекс по названию города

Поделиться:
Популярные книги

Последний реанорец. Том IX

Павлов Вел
8. Высшая Речь
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Последний реанорец. Том IX

Я еще не барон

Дрейк Сириус
1. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще не барон

Наномашины, Кошмар Академии! Том 10

Новиков Николай Васильевич
10. Первый среди карапузов
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Наномашины, Кошмар Академии! Том 10

Родословная. Том 4

Ткачев Андрей Юрьевич
4. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Родословная. Том 4

Сильнейший Столп Империи. Книга 4

Ермоленков Алексей
4. Сильнейший Столп Империи
Фантастика:
фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 4

Боярышня Дуняша 2

Меллер Юлия Викторовна
2. Боярышня
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боярышня Дуняша 2

Мужчина не моей мечты

Ардова Алиса
1. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.30
рейтинг книги
Мужчина не моей мечты

Меткий стрелок. Том II

Вязовский Алексей
2. Меткий стрелок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Меткий стрелок. Том II

Княжья Русь

Мазин Александр Владимирович
6. Варяг
Приключения:
исторические приключения
9.04
рейтинг книги
Княжья Русь

Язычник

Мазин Александр Владимирович
5. Варяг
Приключения:
исторические приключения
8.91
рейтинг книги
Язычник

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

За Горизонтом

Вайс Александр
8. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
За Горизонтом

Кодекс Охотника. Книга XXXIII

Винокуров Юрий
33. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIII