检查是否没有 Internet 连接 - 弹出窗口 - Windows 10 App(Javascript)

Check if no Internet Connection - Popup - Windows 10 App(Javascript)

你好, 我在互联网上搜索,找不到完整的 "tutorial",如何编写代码,如果没有互联网连接会自动显示错误消息。我从 Visual Studio 开始使用 Javascript 创建一个 Windows 10 应用程序。我四处搜索,在 Whosebug 上找到了一些带有 jQuery 或 AJAX 的示例,但似乎不适用于我的应用程序。有人可以分享一个代码,我可以把它放在我的应用程序中吗?

我正在为我的网站创建一个应用程序,具有一些附加功能,并且需要互联网连接。

谢谢

$.get('/').fail(function(){
    //request failed for some reason.  probably internet down
    console.log("your internet is down");
});

您可以使用一些 HTTP 测试服务,如下所示:

<html>
<body>
<div id="status" style="width:100px;height:40px;"></div>
<script>
function GetConnectionStatusToElement(element) {
    var request = new XMLHttpRequest();
    request.open("GET", "https://httpbin.org/", true);
    request.onload = function () {
       element.innerHTML = "Connected"; 
    };
    request.onerror = function () {
       element.innerHTML = "Not Connected";
    };
    request.send();
}
GetConnectionStatusToElement(document.getElementById("status"));
</script>
</body>
<html>

您可以像这样在 default.js 中使用 NetworkConnectivityLevel, NetworkInformation.getInternetConnectionProfile and getNetworkConnectivityLevel to do this, and show the information with a MessageDialog

var connections = Windows.Networking.Connectivity.NetworkInformation.getInternetConnectionProfile();
if (connections != null) {
    var networkConnectivityLevel = connections.getNetworkConnectivityLevel();
    if (networkConnectivityLevel == Windows.Networking.Connectivity.NetworkConnectivityLevel.internetAccess) {
        var msg = new Windows.UI.Popups.MessageDialog("Internet access OK.");
    } else if (networkConnectivityLevel == Windows.Networking.Connectivity.NetworkConnectivityLevel.constrainedInternetAccess) {
        var msg = new Windows.UI.Popups.MessageDialog("Limited internet access.");
    } else if (networkConnectivityLevel == Windows.Networking.Connectivity.NetworkConnectivityLevel.localAccess) {
        var msg = new Windows.UI.Popups.MessageDialog("Local network access only.");
    } else if (networkConnectivityLevel == Windows.Networking.Connectivity.NetworkConnectivityLevel.none) {
        var msg = new Windows.UI.Popups.MessageDialog("No internet access.");
    }
    msg.showAsync();
} else {
    var msg = new Windows.UI.Popups.MessageDialog("No internet access.");
    msg.showAsync();
}