Posted at

JavaScriptで回線情報を取得するAPI

More than 3 years have passed since last update.

Editor's DraftなAPI。仕様が大きく変わる可能性あり(2014/12/11)


Network Information API

http://w3c.github.io/netinfo/

回線の情報を取得したりイベントで色々したりするAPI

navigator.connectionに色々入ってる。


接続のタイプ

navigator.connection.typeにはどうやってインターネットに繋いでるかの情報が入っている

type

bluetooth

callular

ethernet

none

wifi

wimax

other

unknown

用途としては帯域幅の判定として使ってコンテンツを出し分けるとか、従量課金の回線もあるのでアラート出すとか。

typenoneなときはnavigator.onLinefalseになる。


接続タイプの変更イベント

回線の変化が起こったときにtypechangeイベントが発生する。navigator.connectionontypechangeもしくはaddEventListenerでイベントハンドリングする。

navigator.connection.ontypechange = function(e) {

console.log(e);
}

or

navigator.connection.addEventListener("typechange", function(e) {

console.log(e);
});


実装状況?

ChromiumとFirefox OSで実装あり。

Chrome 39.0.2171.71で試験運用版のウェブプラットフォームの機能を有効にするとnavigatorconnectionが生える。

Chromeでは確認できなかったけどdownlinkMaxとかbandWidthとかのプロパティが今後生えるかも?