我是一名初学者,正在研究Ionic 2并试图为我的webapp创建一个app shell,我能够直接在我的index.html中使用inappbrowser这样工作:
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var ref = cordova.InAppBrowser.open('http://myWebApp.com', '_self', 'location=no, zoom=no, toolbar=no');
ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
}
</script>
问题是,现在我试图检查是否有互联网连接,然后我尝试启动网络应用程序,但下面的代码没有任何反应,甚至没有错误,只是在启动画面后的空白屏幕... < / p>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
if (navigator.connection.type == Connection.NONE){
var ref = cordova.InAppBrowser.open('http://myWebApp.com', '_self', 'location=no, zoom=no, toolbar=no');
ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
ref.addEventListener('loadstop', function() {
});
} else {
alert('you are offline');
}
}
</script>
现在我不想移动我的网络应用程序在应用程序中完全原生地运行,我只是学习并希望将其作为浏览器运行,但要对连接进行基本检查。
我错过了什么?有一个更好的方法吗?有没有办法调试需要设备运行的代码? 请记住,我是一个菜鸟,如果可以,请详细解释你的答案。
答案 0 :(得分:1)
你的回答在这里https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-network-information/他们创建了一个插件来检查你正在寻找的细节。该链接向您展示如何使用该插件。
他们自己的简单例子:
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.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
checkConnection();
答案 1 :(得分:0)