2014-07-08 03:28:15 +08:00
<!-- -
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.
-->
2015-04-01 07:06:01 +08:00
# cordova-plugin-network-information
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Этот плагин обеспечивает реализацию старой версии [API Сетевой информации][1]. Он предоставляет информацию о сотовых и Wi-Fi подключениях устройства, и информацию имеет ли устройство подключение к Интернету.
2014-07-08 03:28:15 +08:00
[1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
## Установка
2015-04-01 07:06:01 +08:00
cordova plugin add cordova-plugin-network-information
2014-07-08 03:28:15 +08:00
## Поддерживаемые платформы
2014-10-03 07:13:05 +08:00
* Amazon Fire OS
2014-07-08 03:28:15 +08:00
* Android
* BlackBerry 10
2014-10-11 00:48:33 +08:00
* Браузер
2014-07-08 03:28:15 +08:00
* iOS
* Windows Phone 7 и 8
* Tizen
* Windows 8
* Firefox OS
2014-10-11 00:48:33 +08:00
# Connection
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
> Объект `connection`, доступный через `navigator.connection`, предоставляет информацию о сотовых и wifi подключениях устройства.
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
## Свойства
2014-07-08 03:28:15 +08:00
* connection.type
## Константы
* Connection.UNKNOWN
* Connection.ETHERNET
* Connection.WIFI
* Connection.CELL_2G
* Connection.CELL_3G
* Connection.CELL_4G
* Connection.CELL
* Connection.NONE
## connection.type
2014-10-11 00:48:33 +08:00
Это свойство предоставляет быстрый способ для определения состояния подключения устройства к сети и тип этого подключения.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Краткий пример
2014-07-08 03:28:15 +08:00
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();
2014-10-11 00:48:33 +08:00
### Изменения в API
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
До Cordova 2.3.0 объект `Connection` был доступен через `navigator.network.connection` , после чего это свойство было изменено на `navigator.connection` в соответствии с о спецификацией консорциума W3C. Он все еще доступен в е г о исходном расположении, но это расположение является устаревшим и в конечном итоге будет удалено.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности iOS
2014-07-08 03:28:15 +08:00
* iOS не может определить тип подключения к сотовой сети.
2014-10-11 00:48:33 +08:00
* `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных.
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
### Особенности Windows Phone
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
* Когда работает в эмуляторе, тип подключения всегда определяется `navigator.connection.type` как `Connection.UNKNOWN` .
2014-07-08 03:28:15 +08:00
* Windows Phone не может определить тип подключения к сотовой сети.
2014-10-11 00:48:33 +08:00
* `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности Tizen
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
* Tizen может обнаружить только соединения Wi-Fi или наличие сотовой связи.
* `navigator.connection.type` имеет значение `Connection.CELL_2G` для всех сотовых данных.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности Firefox OS
2014-07-08 03:28:15 +08:00
* Firefox OS не может определить тип подключения к сотовой сети.
2014-10-11 00:48:33 +08:00
* `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных.
2014-07-08 03:28:15 +08:00
# События, связанные с сетью
## offline
Событие возникает, когда приложение переходит в автономный режим, и устройство не подключено к сети Интернет.
document.addEventListener("offline", yourCallbackFunction, false);
2014-10-03 07:13:05 +08:00
### Подробности
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Событие `offline` возникает, когда ранее подключенное устройство теряет подключение к сети, так что приложение больше не может получить доступ к Интернет. Он опирается на ту же информацию, что и Connection API и срабатывает, когда значение `connection.type` становится равным `NONE` .
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Приложения обычно должно использовать `window.addEventListener` чтобы добавить обработчик события после того как произойдет событие `deviceready` .
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Краткий пример
2014-07-08 03:28:15 +08:00
document.addEventListener("offline", onOffline, false);
function onOffline() {
// Handle the offline event
}
2014-10-03 07:13:05 +08:00
### Особенности iOS
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
В о время первоначального запуска первому событию offline (если применимо) требуется по крайней мере секунду на срабатывание.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности Windows Phone 7
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Когда работает в эмуляторе, `connection.status` всегда неизвестен, так что это событие *не* срабатывает.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности Windows Phone 8
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.
2014-07-08 03:28:15 +08:00
## online
2014-10-11 00:48:33 +08:00
Это событие возникает, когда приложение выходит в онлайн, и устройство подключается к Интернету.
2014-07-08 03:28:15 +08:00
document.addEventListener("online", yourCallbackFunction, false);
2014-10-03 07:13:05 +08:00
### Подробности
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Событие `online` возникает, когда ранее не подключенное к сети устройство получает сетевое подключение, разрешающее приложению доступ к Интернету. Оно опирается на ту же информацию, Connection API и вызывается когда `connection.type` меняется с `NONE` в любое другое значение.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
Приложения обычно должны использовать `window.addEventListener` чтобы добавить обработчик события после того как произойдет событие `deviceready` .
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Краткий пример
2014-07-08 03:28:15 +08:00
document.addEventListener("online", onOnline, false);
function onOnline() {
// Handle the online event
}
2014-10-03 07:13:05 +08:00
### Особенности iOS
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
В о время первоначального запуска первое событие `online` (если применимо) занимает по меньшей мере секунду на срабатывание, до этого момента `connection.type` является равным `UNKNOWN` .
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности Windows Phone 7
2014-07-08 03:28:15 +08:00
2014-10-11 00:48:33 +08:00
Когда работает в эмуляторе, `connection.status` всегда неизвестен, так что это событие *не* срабатывает.
2014-07-08 03:28:15 +08:00
2014-10-03 07:13:05 +08:00
### Особенности Windows Phone 8
2014-07-08 03:28:15 +08:00
2015-04-01 01:53:32 +08:00
Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.