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

时间:2014-02-02 03:12:55

标签: javascript networking redirect cordova offline

我正在使用PhoneGap / Cordova 3.3.x开发一个应用程序,我没有运气的脚本可以检查连接是否可用,如果是,则显示“main.html”。如果没有连接,请显示“offline.html”。现在我的index.html目前重定向到我的“main.html”,我在“index.html”中有这个脚本,虽然它不起作用..我已经尝试了其他几个脚本无济于事。让我知道如果我还需要一个合适的.js文件,我知道你曾经需要在资产中包含一个phonegap.js文件的较旧的phonegap版本吗?..有什么帮助吗? ::

<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”,它只给了我默认的android页面不可用。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在onLoad中订阅两个事件(与设备准备相同的地方)。

这两个事件是“在线”和“离线”:

document.addEventListener("offline", this.onReceivedOffline, false);
document.addEventListener("online", this.onReceivedOnline, false);

所以它将是

document.addEventListener("offline", onOffline, false);
function onOffline()
{
    window.location = "offline.html";
}

您可以在此处详细了解: http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#online