我是Phonegap和JqueryMobile的新手。我需要检查设备上的互联网连接。在网上看到一些解决方案后,我对方法感到困惑。一些解决方案建议使用PG API,如网络管理器和连接,而一些使用JQMobile方法检查连接。
我的问题是哪个更喜欢?或者实施的目标区域是什么?
答案 0 :(得分:0)
PhoneGap有自己的功能来检查互联网连接是否可用。Here是该官方文件。
document.addEventListener("online", onOnline, false);
document.addEventListener("offline", onOffline, false);
您需要设置
<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager" />
对于安卓的 config.xml
权限。
您必须在清单中添加一些权限,如下所示
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"> </uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"> </uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
答案 1 :(得分:0)
试试这个
工作示例:http://jsfiddle.net/Gajotres/d5XYR/
在这种情况下,计时器将每100毫秒检查一次互联网连接,并将最终结果设置为javascript全局变量。
一切都取决于这一行:
window.navigator.onLine -- it will be false if the user is offline.
最终解决方案:
var connectionStatus = false;
$(document).on('pagebeforeshow', '#index', function () {
setInterval(function () {
connectionStatus = navigator.onLine ? 'online' : 'offline';
}, 100);
$(document).on('click', '#check-connection', function () {
alert(connectionStatus);
});
});