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

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

Жанры

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

Эти дополнительные возможности демонстрируются в примере 22.2.

Пример 22.2. Демонстрация всех возможностей определения местонахождения

// Асинхронно определяет местонахождение и отображает его в указанном элементе,

function whereami(elt) {

// Этот объект передается методу getCurrentPosition в 3 аргументе

var options = {

//
Чтобы получить координаты с высокой точностью (например, с устройства GPS),

// присвойте этому свойству значение true. Отметьте, однако, что это может

// увеличить расход энергии в аккумуляторах.

enableHighAccuracy: false, // Приблизительно: по умолчанию

// Определите свое значение, если допустимо брать координаты из кэша.

// По умолчанию имеет значение 0, что обеспечивает получение самой

// свежей информации.

maximumAge: 300000, // Пригодна информация, полученная в течение последних 5 минут

// Предельное время ожидания выполнения запроса.

// По умолчанию имеет значение Infinity, что соответствует бесконечному

// времени ожидания выполнения запроса вызовом метода getCurrentPosition

timeout: 15000 // Ждать не более 15 секунд

};

if (navigator.geolocation) // Запросить координаты, если возможно

navigator.geolocation.getCurrentPosition(success, error, options):

else

elt.innerHTML = "Возможность определения местонахождения " +

"не поддерживается этим броузером":

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

function error(e) {

// Объект ошибки содержит числовой код и текстовое сообщение. Коды:

// 1: пользователь не дал разрешения на определение местонахождения

// 2: броузер не смог определить местонахождение

// 3: истекло предельное время ожидания

elt.innerHTML = "Ошибка определения местонахождения " + e.code + ": + е.message;

}

// Эта
функция будет вызвана в случае успешного выполнения запроса

function success(pos) {

// Эти поля возвращаются всегда. Обратите внимание, что поле timestamp

// принадлежит внешнему объекту pos, а не вложенному coords,

var msg = "At " +

new Date(pos.timestamp).toLocaleString +

" вы находились в " + pos.coords.accuracy +
" метрах от точки " +

pos.coords.latitude +
" северной широты " +

pos.coords.longitude + " восточной долготы.":

// Если устройство возвращает высоту над уровнем моря, добавить эту информацию,

if (pos.coords.altitude) {

msg += " Вы находитесь на высоте " +

pos.coords.altitude + " ± " + pos.coords.altitudeAccuracy +

" метров над уровнем моря.";

}

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

// добавить и эту информацию.

if (pos.coords.speed) {

msg += " Вы перемещаетесь со скоростью " +

pos.coords.speed + "м/сек в направлении " + pos.coords.heading + ".";

}

elt.innerHTML = msg; // Отобразить информацию о местонахождении

}

}

22.2. Управление историей посещений

Веб-броузеры запоминают, какие документы загружались в окно, и предоставляют кнопки Back и Forward, позволяющие перемещаться между этими документами. Эта модель хранения истории посещений в броузерах появилась еще в те дни, когда документы были статическими и все вычисления выполнялись на стороне сервера. В настоящее время веб-приложения часто загружают содержимое динамически и отображают новые состояния приложения без полной перезагрузки документа. Такие приложения должны предусматривать собственные механизмы управления историей посещений, если необходимо дать пользователю возможность использовать кнопки Back и Forward для перехода из одного состояния приложения в другое интуитивно понятным способом. Спецификация HTML5 определяет два механизма управления историей посещений.

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

Последний Герой. Том 1

Дамиров Рафаэль
1. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 1

Я до сих пор царь. Книга XXXII

Дрейк Сириус
32. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор царь. Книга XXXII

Жена неверного генерала, или Попаданка на отборе

Удалова Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Жена неверного генерала, или Попаданка на отборе

Неучтенный элемент. Том 1

NikL
1. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 1

Законы Рода. Том 5

Мельник Андрей
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5

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

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

Эпоха Опустошителя. Том VII

Павлов Вел
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VII

Хозяин Теней 5

Петров Максим Николаевич
5. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 5

Последний Паладин. Том 13

Саваровский Роман
13. Путь Паладина
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 13

Распутье

Басаргин Иван Ульянович
Сибириада
Проза:
военная проза
историческая проза
5.00
рейтинг книги
Распутье

Последний Паладин. Том 14

Саваровский Роман
14. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Последний Паладин. Том 14

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Наследие Маозари 9

Панежин Евгений
9. Наследие Маозари
Фантастика:
попаданцы
постапокалипсис
рпг
сказочная фантастика
6.25
рейтинг книги
Наследие Маозари 9

Ну, здравствуй, Герой!

Француз Михаил
2. Здравствуй, Мир!
Фантастика:
фэнтези
рпг
попаданцы
5.00
рейтинг книги
Ну, здравствуй, Герой!