gpt4 book ai didi

javascript - 如果一段时间未收到 websocket 则刷新页面

转载 作者:行者123 更新时间:2023-11-29 15:55:20 26 4
gpt4 key购买 nike

我有一个页面,在收到 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>

我试过类似的方法,但似乎不起作用。我将不胜感激 :)

最佳答案

检查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)
}
}
}

关于javascript - 如果一段时间未收到 websocket 则刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58536698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com