我在我创建的firefox应用程序中有以下代码(它获取网络带宽并在元素中显示id =" 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:网络未定义"。对于已注释的电池状态部分,同样的事情正常工作。它出了什么问题?
答案 0 :(得分:3)
桌面设备不支持documentation navigator.connection
,仅支持Mobile FF 12.0+和Android 2.2+(带webkit前缀)
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
编辑:
如果你输入了一个对象属性,JS会返回undefined
,因为该属性是......未定义的。
您收到的错误是network
未定义,而network.bandwidth
未定义,区别在于
network
未定义且您尝试访问network.bandwidth
,则表示错误network.bandwidth
未定义且您尝试访问network.bandwidth
,则只会获得undefined
(无错误)。同样,如果network
存在,但您尝试引用network.somerandompropertythatdoesntexist
,那么您会获得undefined
但没有错误。