window.addEventListener('online') 是如何工作的?

How window.addEventListener('online') Works?

我只是很困惑 就像 window.addEventListener('online') 或 window.addEventListener('offline') 的工作原理一样。 我创建了一个 LGTV WebOS 应用程序,我在其中添加了如果正在播放任何视频,并且在播放视频期间如果互联网连接丢失,它应该显示一条警告消息。 所以我使用了这些 window 事件,但它们仅在我的 wifi 或网络断开连接时有效,而不是在我连接到 wifi 但没有互联网时有效。 所以我想要的是当我连接到 wifi 时应该显示警报,但是 wifi 上没有互联网可用,有什么办法可以做到这一点吗?

window.addEventListener('online', updateOnlineStatus);
window.addEventListener('offline', updateOnlineStatus);
function updateOnlineStatus(event) {
    console.log("-----------------Control comes into updateOnlineStatus --------------");
    console.log("event",event);
    var errorModal = document.getElementById("errorModal");
    var condition = navigator.onLine ? "online" : "offline";
    if(condition == "online"){
        console.log("-----------INternet Is conected ----------------");
        errorModal.style.display="none";
        video.play();
    }else{
        console.log("-----------INternet Is NOOOOOOTT conected ----------------");
        video.pause();
        errorModal.style.display="block";
        SpatialNavigation.makeFocusable();
        SpatialNavigation.focus("#ok_btn");

    }
    }  

如果您正在开发 WebOS TV 应用程序,您应该首先检查该平台的本机 API...

Connection Manager

Event handler

WebOS services

您可以使用 WebOS 的 webOsDev.js 库获取连接状态。

webOSDev.connection.getStatus({
    onSuccess: function (res) {
        if (res.isInternetConnectionAvailable === false) {
            //when the internet connection is not available 
        } else {
            //when internet is available
        }
    },
    onFailure: function (res) {
        //on failure to request the API
    },
    subscribe: true
});