ฉันเห็นตัวเลือกต่างๆ สองสามตัวในการตรวจสอบการเชื่อมต่ออินเทอร์เน็ตด้วย phonegap มี document.addEventListener("online", onOnline, false);
และยังมี navigator.network.connection.type
... แต่ฉันไม่แน่ใจว่าอันไหนเป็นแนวปฏิบัติที่ดีที่สุด ฉันต้องการที่จะป้องกันกรณีที่ไม่ดีที่โทรศัพท์เชื่อมต่อกับเครือข่าย wifi แต่ไม่มีการเชื่อมต่ออินเทอร์เน็ต
$(document).on('pagecreate','#explanation-short', function(){
if ( isPhoneGap() ) {
if (checkConnection() == "none" ) {
connectionStatus = 'offline';
} else {
connectionStatus = 'online';
}
function checkConnection() {
var networkState = navigator.network.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.NONE] = 'No network connection';
//console.log('Connection : ' + Connection);
//console.log('Connection type: ' + states[networkState]);
return networkState;
}
} else {
connectionStatus = navigator.onLine ? 'online' : 'offline';
}
console.log("connectionStatus : "+connectionStatus);
});
ตัวอย่างเช่น รหัสนี้ใช้งานได้หากโทรศัพท์เชื่อมต่อกับ wifi แต่เราไม่แน่ใจว่าอินเทอร์เน็ตใช้งานได้จริง
แนวปฏิบัติที่ดีที่สุดกับ phonegap 3.3+ และ Jquery mobile 1.4 คืออะไร