Обновить страницу, если websocket не получен в течение некоторого времени - PullRequest
3 голосов
/ 24 октября 2019

У меня есть страница, которая после получения websocket что-то делает через javascript. Я хочу, чтобы эта страница перезагрузилась через некоторое время, только если между последним временем и временем, которое я хочу, не было получено websocket.

<script>
        if ("WebSocket" in window) {

            var ws = new WebSocket('ws://192.168.33.1:5000');
            var variableSpan = document.getElementById('variable');

            ws.onmessage = function (event) {
                var message = JSON.parse(event.data);
                console.log(message);
                jQuery('#variable').empty();

                $(function () {
                    $.get(message.variable, function (data) {
                        $("#variable").append(data);
                    });
                });

                setTimeout(function () {
                    window.location.reload(); // you can pass true to reload function to ignore the client cache and reload from the server
                }, 10000);
            }
        }
</script>

Я пробовал что-то подобное, но это не такпохоже на работу. Буду признателен за помощь:)

1 Ответ

0 голосов
/ 24 октября 2019

Перезагрузка после проверки состояния webSocket

function onWebSocketClosed(){

    if (webSocket.readyState != WebSocket.OPEN) {
        try{
            console.error("webSocket is not open: " + webSocket.readyState +"Reloading Page");
            window.location.reload()
        }
        catch (error) {
            console.log('onWebSocketClosed :  {0}' , error)
        }
    }       
}

...