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

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

Жанры

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

onnoupdate

Если приложение не изменилось, сообщает пользователю, что он или она работает с текущей версией.

А теперь, после краткого обзора логики работы приложения PermaNote, в примере 20.7 приводится ее реализация.

Пример 20.7'. permanote.js

// Некоторые необходимые переменные

var editor, statusline, savebutton, idletimer;

//
При первой загрузке приложения

window.onload = function {

// Инициализировать локальное хранилище, если это первый запуск

if (localStorage.note == null)
localStorage.note = "";

if (localStorage.lastModified == null) localStorage.lastModified = 0;

if (localStorage.lastSaved == null) localStorage.lastSaved = 0;

// Отыскать элементы, которые составляют пользовательский интерфейс редактора.

// Инициализировать глобальные переменные,

editor = document.getElementById("editor");

statusline = document.getElementById("statusline");

savebutton = document.getElementById("savebutton");

editor.value = localStorage.note; // Восстановить сохраненную заметку

editor.disabled = true; // Но запретить редактирование до синхр.

// При вводе нового текста в элемент textarea

editor.addEventListener("input",

function (e) {

// Сохранить новую заметку в localStorage

localStorage.note = editor.value;

localStorage.lastModified = Date.now;

// Переустановить таймер ожидания

if (idletimer) clearTimeout(idletimer);

idletimer = setTimeout(save, 5000);

// Разрешить кнопку сохранения

savebutton.disabled = false;

},

false);

// При каждой загрузке приложения
пытаться синхронизироваться с сервером

sync;

};

// Сохраняет заметку на сервере перед уходом со страницы

window.onbeforeunload = function {

if (localStorage.lastModified > localStorage.lastSaved) save;

};

// Сообщить пользователю перед переходом в автономный режим

window.onoffline = function { status("Автономный режим"); }

// При подключении к сети выполнить синхронизацию,

window.ononline = function { sync; };

// Сообщить пользователю, если доступна новая версия приложения.

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

// метод location.reload

window.applicationCache.onupdateready = function {

status("Доступна новая версия приложения. " +

"Чтобы использовать ее, необходимо перезагрузить приложение ”);

};

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

window.applicationCache.onnoupdate = function {

status("Bы используете последнюю версию приложения.");

};

// Функция отображения сообщения в строке состояния

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

// Выгружает текст заметки на сервер (если сеть подключена).

// Автоматически вызывается через 5 секунд простоя после изменения текста заметки,

function save {

if (idletimer) clearTimeout(idletimer);

idletimer = null;

if (navigator.onLine) {

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

Эволюционер из трущоб

Панарин Антон
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб

Портрет дьявола: Собрание мистических рассказов

Скотт Вальтер
Проза:
классическая проза
8.09
рейтинг книги
Портрет дьявола: Собрание мистических рассказов

Семь Нагибов на версту

Машуков Тимур
1. Семь, загибов на версту
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Семь Нагибов на версту

Собрание сочинений. Т.24. Из сборников:«Что мне ненавистно» и «Экспериментальный роман»

Золя Эмиль
Документальная литература:
критика
публицистика
5.00
рейтинг книги
Собрание сочинений. Т.24. Из сборников:«Что мне ненавистно» и «Экспериментальный роман»

Неудержимый. Книга XII

Боярский Андрей
12. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XII

Гром Раскатного. Том 1

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

Лондон

Резерфорд Эдвард
The Big Book
Проза:
историческая проза
6.67
рейтинг книги
Лондон

Избранное

Лукницкий Павел Николаевич
Проза:
советская классическая проза
5.00
рейтинг книги
Избранное

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Судьба

Золотарёв-Якутский Николай Гаврилович
Проза:
историческая проза
советская классическая проза
5.00
рейтинг книги
Судьба

Лекции профессора Московской Духовной Академии А. И. Осипова

Осипов Алексей Ильич
Религия и эзотерика:
религия
5.00
рейтинг книги
Лекции профессора Московской Духовной Академии А. И. Осипова

Имперец. Том 3

Романов Михаил Яковлевич
2. Имперец
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.50
рейтинг книги
Имперец. Том 3

Иди на Голгофу. Гомо советикус. Распутье. Русская трагедия

Зиновьев Александр Александрович
Документальная литература:
публицистика
5.00
рейтинг книги
Иди на Голгофу. Гомо советикус. Распутье. Русская трагедия

Кто изобрел современную физику? От маятника Галилея до квантовой гравитации

Горелик Геннадий
Научно-образовательная:
история
физика
6.25
рейтинг книги
Кто изобрел современную физику? От маятника Галилея до квантовой гравитации