8.6 KiB
cordova-plugin-network-information
Этот плагин обеспечивает реализацию старой версии API Сетевой информации. Он предоставляет информацию о сотовых и Wi-Fi подключениях устройства, и информацию имеет ли устройство подключение к Интернету.
Установка
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
, которое не меняется, поэтому событие не не срабатывает.