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