【问题标题】:Check online or offline?在线检查还是离线检查?
【发布时间】:2015-06-01 09:36:20
【问题描述】:

当设备使用 Android Webview 在线或离线时触发功能的最简单方法是什么。我找到了这个。

window.addEventListener('online', update OnlineStatus);

但它在 android webview 中不起作用

【问题讨论】:

标签: javascript android webview


【解决方案1】:

尝试访问服务器上的任何小文件,如图像,如果找不到,则表示用户未连接!这样你可以在线或离线查找

【讨论】:

    【解决方案2】:

    在连接丢失时发出警报的回调中做任何你想做的事情

    document.addEventListener("offline", function(){ alert("No connection found") }, false);
    

    【讨论】:

    【解决方案3】:

    尝试访问您服务器上的任何小文件,例如image,如果找不到,则表示用户未连接

    JavaScript 函数:

    function doesConnectionExist() {
        var xhr = new XMLHttpRequest();
        var file = "img/a.png";        //path of image on your server/internet
        var randomNum = Math.round(Math.random() * 10000);
        xhr.open('HEAD', file + "?rand=" + randomNum, false);
        try {
            xhr.send(null);
            if (xhr.status >= 200 && xhr.status < 304) {
                return true;
            } else {
                return false;
            }
        } catch (e) {
            return false;
        }
    }
    

    在发生服务器调用的任何事件上调用上述函数:
    如果返回true,则用户已连接!

    【讨论】:

    • 它仅用于检查特定点的连接。但是如果连接在线或离线如何触发事件
    • 你必须只在 JavaScript 本地事件上调用这个函数
    • 使用定时器连续检查这个功能不是个好主意
    • 我不是说要使用定时器!伙计,我是说在你用javascript调用服务器的地方调用这个函数!
    • 我想在浏览器上线的时候执行某些功能,也想在离线的情况下执行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2015-05-13
    相关资源
    最近更新 更多