Pull to refresh

Поддержка HTML 5 Networking Events

Reading time2 min
Views1.6K
Недавно я написал статью про технологию HTML 5  DOM Storage, поддержка которой появилась в  Internet Explorer 8. В этой статье я хотел бы рассмотреть еще одну часть HTML 5, поддержка которой появилась в IE8. Такой технологией является расширение событий браузера под общим названием Networking Events. В этой статье я постараюсь рассмотреть три таких события: onhashchange, ononline, onoffline.

Описанные ниже события определены в черновике HTML 5 A vocabulary and associated APIs for HTML and XHTML. Мне не удалось найти описания реализаций этих событий в других браузерах. Поэтому, можно считать, что Internet Explorer 8 – это первый и пока единственный браузер который поддерживает новые события HTML 5.

onhashchange


Событие window.onhashchange призвано значительно упростить жизнь разработчику ajax-приложений или приложений с богатым клиентским функционалом. Браузер вызывает событие window.onhashchange когда меняется hash-часть URL. Скажем такое событие вызовется, когда пользователь перейдет с адреса example.domain/test.aspx#page1 на example.domain/test.aspx#page2. Другим способом вызвать это событие является установка нового значения для location.hash.

Пример использования:
<script type="text/javascript">

function HashChangeHandler() {

alert('Новый hash = ' + location.hash);

}

</script>



<body onhashchange="HashChangeHandler();">

<a href="#link1">Первая ссылка</a>

<a href="#link2">Вторая ссылка</a>


</body>


* This source code was highlighted with Source Code Highlighter.

ononline и onoffline


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

Пример использования:
function inoffline(e) {
  if (!e) e = window.event;
  ...
  alert('Внимание! Соединение с интернет потеряно.');
}

window.onload = function() {
  document.body.onoffline = inoffline;
}


* This source code was highlighted with Source Code Highlighter.


Дополнительная информация



Progg it
Tags:
Hubs:
+24
Comments67

Articles