我在JavaScript中使用套接字来发送数据。以下是代码片段。无法检测到实际的页面重新加载
socket.on('my response', function(msg) {
$('#log').append('<p>Received: ' + msg.data + '</p>');
/*
if (window.performance) {
console.info("window.performance work's fine on this browser");
}
if (performance.navigation.type == 1) {
console.info("This page is reloaded");
} else {
console.info("This page is not reloaded");
} */
document.getElementById('div_id').innerHTML += msg.data + "<br>";
});
问题是,我在div上显示的数据在我重新加载页面后得到清除。即使在我重新加载网页后,我想保留这些数据并继续追加msg.data
的数据。我怎样才能做到这一点?我试图使用上述代码片段中的注释部分来检测页面重新加载,但每次获取msg
时都会将其检测为页面重新加载事件。
更新1
如果检测重装事件,并使用session-storage
是那么我可能要强调我的主要问题是检测重装事件的最好方式。每当我在msg.data
(使用代码片段的注释部分检测页面重新加载事件)中获取数据时,它都会打印This page is reloaded
。我想要检测我从代码的其他模块中使用的唯一手动重新加载和window.location.reload
。
你把它钉在你的标签中,将数据放在会话存储器中,在文档读取时比较你的会话存储器,使用div的内容 – Stavm
我的主要问题是检测网页的重新加载事件。我尝试以各种方式检测,但正如我在问题中提到的,它检测套接字的“我的响应”事件也是一个页面重装事件。我如何避免这种情况? – phanny