如何将Javascript函数挂接到页面重新加载请求或源于客户端的websocket断开连接?
我的问题:我的页面有一个websocket处理程序。我通过显示“服务器已断开连接,请重新加载”覆盖来处理断开连接事件(通常由服务器重新启动引起) 但是,当用户触发重新加载时,浏览器所做的第一件事就是断开套接字连接,这也会触发断开连接事件,因此此覆盖在被新页面替换之前出现。这令人困惑,尤其是因为重新加载页面可能需要几秒钟 澄清一下,发生的事情是如何将Javascript函数挂接到页面重新加载请求或源于客户端的websocket断开连接?,javascript,websocket,reload,Javascript,Websocket,Reload,我的问题:我的页面有一个websocket处理程序。我通过显示“服务器已断开连接,请重新加载”覆盖来处理断开连接事件(通常由服务器重新启动引起) 但是,当用户触发重新加载时,浏览器所做的第一件事就是断开套接字连接,这也会触发断开连接事件,因此此覆盖在被新页面替换之前出现。这令人困惑,尤其是因为重新加载页面可能需要几秒钟 澄清一下,发生的事情是 用户单击“重新加载” 浏览器断开了web套接字的连接 ws.onclose运行 …并显示“请重新加载页面”警报覆盖(或其他内容) 在服务器开始组
- 用户单击“重新加载”
- 浏览器断开了web套接字的连接
- ws.onclose运行
- …并显示“请重新加载页面”警报覆盖(或其他内容)
- ws.onclose运行
- 在服务器开始组装新页面之前,需要经过一段时间
- 页面被重新加载,覆盖消失
if(window.performance)
{
if(performance.navigation.type == 1 )
{
console.log('page reloaded');
}
}
您还可以编写javascript函数并设置cookie
function checkFirstVisit() {
if(document.cookie.indexOf('mycookie')==-1) {
// cookie doesn't exist, create it now
document.cookie = 'mycookie=1';
}
else {
// not first visit, so alert
alert('You refreshed!');
}
}
身体负荷事件呼叫
<body onload="checkFirstVisit()">
嗯,不是。这个解决方案告诉我在加载新页面后是否重新加载了。那没用。我需要在“旧”页面上运行脚本。编辑问题(希望)更好地解释问题