jquery-mobile – 用phonegap检查互联网连接

前端之家收集整理的这篇文章主要介绍了jquery-mobile – 用phonegap检查互联网连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看到几个不同的选项来检查与phonegap的互联网连接.有document.addEventListener(“online”,onOnline,false);还有navigator.network.connection.type ……但我不确定哪一个是最佳实践.我还希望能够防止手机连接到wifi网络但没有互联网连接的坏情况.
  1. $(document).on('pagecreate','#explanation-short',function(){
  2. if ( isPhoneGap() ) {
  3. if (checkConnection() == "none" ) {
  4. connectionStatus = 'offline';
  5. } else {
  6. connectionStatus = 'online';
  7. }
  8. function checkConnection() {
  9. var networkState = navigator.network.connection.type;
  10. var states = {};
  11. states[Connection.UNKNOWN] = 'Unknown connection';
  12. states[Connection.ETHERNET] = 'Ethernet connection';
  13. states[Connection.WIFI] = 'WiFi connection';
  14. states[Connection.CELL_2G] = 'Cell 2G connection';
  15. states[Connection.CELL_3G] = 'Cell 3G connection';
  16. states[Connection.CELL_4G] = 'Cell 4G connection';
  17. states[Connection.NONE] = 'No network connection';
  18. //console.log('Connection : ' + Connection);
  19. //console.log('Connection type: ' + states[networkState]);
  20. return networkState;
  21. }
  22. } else {
  23. connectionStatus = navigator.onLine ? 'online' : 'offline';
  24. }
  25. console.log("connectionStatus : "+connectionStatus);
  26. });

例如,如果手机连接到wifi,此代码有效,但我们不确定互联网是否实际可用.

phonegap 3.3和Jquery mobile 1.4的最佳实践是什么?

解决方法

事件,
  1. document.addEventListener("online",false);

仅在您的应用已加载并重新获得连接时才会触发.在应用程序启动时不会触发此操作.

因此,您必须在启动应用程序时使用checkConnection()方法,然后如果您需要在应用程序运行时稍后检查,则使用事件侦听器.

猜你在找的jQuery相关文章