Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在线/离线连接重定向PhoneGap/Cardova?_Javascript_Networking_Redirect_Cordova_Offline - Fatal编程技术网

Javascript 在线/离线连接重定向PhoneGap/Cardova?

Javascript 在线/离线连接重定向PhoneGap/Cardova?,javascript,networking,redirect,cordova,offline,Javascript,Networking,Redirect,Cordova,Offline,我正在使用PhoneGap/Cordova 3.3.x开发一个应用程序,但我没有一个脚本可以检查连接是否可用,如果可用,则显示main.html。如果没有连接,则显示offline.html。现在,我的index.html当前重定向到我的main.html,我在index.html中有这个脚本,尽管它不起作用。我尝试了几个其他脚本,但都没有用。如果我还需要一个合适的.js文件,请告诉我,我知道对于旧的phonegap构建,您过去必须在assets?中包含一个phonegap.js文件?。。有什么

我正在使用PhoneGap/Cordova 3.3.x开发一个应用程序,但我没有一个脚本可以检查连接是否可用,如果可用,则显示main.html。如果没有连接,则显示offline.html。现在,我的index.html当前重定向到我的main.html,我在index.html中有这个脚本,尽管它不起作用。我尝试了几个其他脚本,但都没有用。如果我还需要一个合适的.js文件,请告诉我,我知道对于旧的phonegap构建,您过去必须在assets?中包含一个phonegap.js文件?。。有什么帮助吗?::

<script>
function checkConnection() {
var networkState = navigator.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';
}
  if (networkState == Connection.NONE ){
   window.location = "offline.html";
   } 
            }
        }

 window.location='./main.html';
</script>
我也尝试过./offline,它只给了我默认的安卓页面,但不可用。
提前谢谢

您可以在与设备日相同的加载位置订阅两个事件

这两个事件是联机和脱机的:

document.addEventListener("offline", this.onReceivedOffline, false);
document.addEventListener("online", this.onReceivedOnline, false);
就这样吧

document.addEventListener("offline", onOffline, false);
function onOffline()
{
    window.location = "offline.html";
}
您可以在此处阅读更多信息:

我想补充一点,我正在Android平台上进行试验,但该应用程序将部署在所有3build选项上。出于某种原因,我没有任何运气,我在下面发布了另一个问题,你是否知道为什么这样做不起作用?最初我遇到了找不到类错误,在再次添加cordova.js后,该错误被删除。我被难住了?提前谢谢!我不能对另一个问题发表评论。。但是,您在离线和在线上订阅了2次。删除以下行:document.addEventListeneroffline、this.onReceivedOffline、false;document.addEventListeneronline,this.onReceivedOnline,false;哎呀!这么简单的疏忽!!再次感谢你帮了莫顿大忙