<!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> # cordova-plugin-network-information Этот плагин обеспечивает реализацию старой версии [API Сетевой информации][1]. Он предоставляет информацию о сотовых и Wi-Fi подключениях устройства, и информацию имеет ли устройство подключение к Интернету. [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/ ## Установка cordova plugin add cordova-plugin-network-information ## Поддерживаемые платформы * Amazon Fire OS * Android * BlackBerry 10 * Браузер * iOS * Windows Phone 7 и 8 * Tizen * Windows 8 * Firefox OS # Connection > Объект `connection`, доступный через `navigator.connection`, предоставляет информацию о сотовых и wifi подключениях устройства. ## Свойства * connection.type ## Константы * Connection.UNKNOWN * Connection.ETHERNET * Connection.WIFI * Connection.CELL_2G * Connection.CELL_3G * Connection.CELL_4G * Connection.CELL * Connection.NONE ## connection.type Это свойство предоставляет быстрый способ для определения состояния подключения устройства к сети и тип этого подключения. ### Краткий пример function checkConnection() { var networkState = navigator.connection.type; var states = {}; states[Connection.UNKNOWN] = 'Unknown connection'; states[Connection.ETHERNET] = 'Ethernet connection'; states[Connection.WIFI] = 'WiFi connection'; states[Connection.CELL_2G] = 'Cell 2G connection'; states[Connection.CELL_3G] = 'Cell 3G connection'; states[Connection.CELL_4G] = 'Cell 4G connection'; states[Connection.CELL] = 'Cell generic connection'; states[Connection.NONE] = 'No network connection'; alert('Connection type: ' + states[networkState]); } checkConnection(); ### Изменения в API До Cordova 2.3.0 объект `Connection` был доступен через `navigator.network.connection`, после чего это свойство было изменено на `navigator.connection` в соответствии со спецификацией консорциума W3C. Он все еще доступен в его исходном расположении, но это расположение является устаревшим и в конечном итоге будет удалено. ### Особенности iOS * iOS не может определить тип подключения к сотовой сети. * `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных. ### Особенности Windows Phone * Когда работает в эмуляторе, тип подключения всегда определяется `navigator.connection.type` как `Connection.UNKNOWN`. * Windows Phone не может определить тип подключения к сотовой сети. * `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных. ### Особенности Tizen * Tizen может обнаружить только соединения Wi-Fi или наличие сотовой связи. * `navigator.connection.type` имеет значение `Connection.CELL_2G` для всех сотовых данных. ### Особенности Firefox OS * Firefox OS не может определить тип подключения к сотовой сети. * `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных. # События, связанные с сетью ## offline Событие возникает, когда приложение переходит в автономный режим, и устройство не подключено к сети Интернет. document.addEventListener("offline", yourCallbackFunction, false); ### Подробности Событие `offline` возникает, когда ранее подключенное устройство теряет подключение к сети, так что приложение больше не может получить доступ к Интернет. Он опирается на ту же информацию, что и Connection API и срабатывает, когда значение `connection.type` становится равным `NONE`. Приложения обычно должно использовать `window.addEventListener` чтобы добавить обработчик события после того как произойдет событие `deviceready`. ### Краткий пример document.addEventListener("offline", onOffline, false); function onOffline() { // Handle the offline event } ### Особенности iOS Во время первоначального запуска первому событию offline (если применимо) требуется по крайней мере секунду на срабатывание. ### Особенности Windows Phone 7 Когда работает в эмуляторе, `connection.status` всегда неизвестен, так что это событие *не* срабатывает. ### Особенности Windows Phone 8 Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает. ## online Это событие возникает, когда приложение выходит в онлайн, и устройство подключается к Интернету. document.addEventListener("online", yourCallbackFunction, false); ### Подробности Событие `online` возникает, когда ранее не подключенное к сети устройство получает сетевое подключение, разрешающее приложению доступ к Интернету. Оно опирается на ту же информацию, Connection API и вызывается когда `connection.type` меняется с `NONE` в любое другое значение. Приложения обычно должны использовать `window.addEventListener` чтобы добавить обработчик события после того как произойдет событие `deviceready`. ### Краткий пример document.addEventListener("online", onOnline, false); function onOnline() { // Handle the online event } ### Особенности iOS Во время первоначального запуска первое событие `online` (если применимо) занимает по меньшей мере секунду на срабатывание, до этого момента `connection.type` является равным `UNKNOWN`. ### Особенности Windows Phone 7 Когда работает в эмуляторе, `connection.status` всегда неизвестен, так что это событие *не* срабатывает. ### Особенности Windows Phone 8 Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.