2015-10-09 4 views
0

У меня есть следующий код в приложение Firefox, который я создал (он получает пропускную способность сети и отображает его в элемент с идентификатором = «DynamicData»):типа ошибок: сеть не определен

//var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery; 
var network = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 

function getData() 
{ // document.getElementById("dynamicdata").innerHTML = "The battery is at: " + battery.level*100 + "%"; 

    document.getElementById("dynamicdata").innerHTML = "The current bandwidth is: " + network.bandwidth + "MbPs"; 
} 

Когда я бегу моему приложению я получаю на консоли следующую ошибку: «TypeError: network undefined». То же самое работает правильно для части состояния аккумулятора с комментариями. Что это происходит?

+0

Означает, что ни одна из проверок не работала в браузере. – epascarello

+0

^Я не уверен, что именно вы спрашиваете. Я новичок в этом. – shane

+0

Средство «navigator.connection || navigator.mozConnection || navigator.webkitConnection;» не поддерживает ни одно из них. – epascarello

ответ

3

Согласно documentationnavigator.connection не поддерживается на настольных устройствах и поддерживается только на Mobile FF 12.0+ и Android 2.2+ (с WebKit Prefix)

Feature   Chrome   Firefox (Gecko) Internet Explorer Opera   Safari 
Basic support Not supported Not supported Not supported  Not supported Not supported 


Feature   Android  Firefox Mobile (Gecko) Firefox OS  IE Mobile  Opera Mobile Safari Mobile 
Basic support 2.2 webkit 12.0[1]    1.4   Not supporte Not supported Not supported 

EDIT:

Если опечатка object, JS возвращает undefined, потому что свойство ... не определено.

ошибка, что вы получаете, однако, network не определен, не network.bandwidth не определено, разница в том, что

  • Если network не определен, и вы пытаетесь получить доступ к network.bandwidth, это ошибка
  • Если network.bandwidth не определено, и вы пытаетесь получить доступ к network.bandwidth, вы получите undefined (без ошибок).

Аналогично, если network существует, но вы пытаетесь ссылаться network.somerandompropertythatdoesntexist, то вы получите undefined, но не ошибка.

+0

oh. поэтому он не поддерживается вообще! – shane

+0

Если вы не разрабатываете для FF Mobile или Firefox OS, это выглядит не так. – arcyqwerty

+0

Я не знаю, насколько это уместно, но я следил за https://www.youtube.com/watch?v=e5WXsGkCBzE учебником. Но у человека там «пропускная способность сети не определена», и кто-то указал в комментариях, что он использовал «network.bandwith» вместо «network.bandwidth» – shane

Смежные вопросы