使用Ionic 2托管webapp

时间:2017-01-05 16:36:21

标签: cordova angular ionic2

我是一名初学者,正在研究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>

现在我不想移动我的网络应用程序在应用程序中完全原生地运行,我只是学习并希望将其作为浏览器运行,但要对连接进行基本检查。

我错过了什么?有一个更好的方法吗?有没有办法调试需要设备运行的代码? 请记住,我是一个菜鸟,如果可以,请详细解释你的答案。

2 个答案:

答案 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)