Недавно я написал статью про технологию 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.
Событие window.onhashchange призвано значительно упростить жизнь разработчику ajax-приложений или приложений с богатым клиентским функционалом. Браузер вызывает событие window.onhashchange когда меняется hash-часть URL. Скажем такое событие вызовется, когда пользователь перейдет с адреса example.domain/test.aspx#page1 на example.domain/test.aspx#page2. Другим способом вызвать это событие является установка нового значения для location.hash.
Пример использования:
Данные события вызываются браузером в том случае, когда браузер определяет, что соединение с интернет пропало или, наоборот, возобновилось. Эти свойства полезны для клиентского кода, позволяя отреагировать на ситуации когда во время работы пользователя с важными данными у него пропадает соединение с интернет, что пользователь может даже не заметить. В таких случаях приложение может поставить пользователя в известность, произвести какие-то операции по сохранению своего состояния или заблокировать ряд функций.
Пример использования:
Описанные ниже события определены в черновике 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.
Дополнительная информация
- скринкаст по HTML 5 Networking Events на MSDN msdn.microsoft.com/en-us/ie/dd578301.aspx;
- onchange на MSDN msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx;
- onoffline на MSDN msdn.microsoft.com/en-us/library/cc304126(VS.85).aspx;
- ononline на MSDN msdn.microsoft.com/en-us/library/cc304127(VS.85).aspx;
- W3C HTML 5 A vocabulary and associated APIs for HTML and XHTML www.w3.org/TR/2009/WD-html5-20090212/browsers.html#handler-window-ononline.