【发布时间】:2018-02-07 18:53:14
【问题描述】:
我在 javascript 中使用套接字来发出数据。以下是代码sn-p。
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 追加数据,即使在我重新加载网页后也是如此。我怎样才能做到这一点?我试图使用上述代码 sn-p 中的注释部分检测页面重新加载,但每次收到msg 时,它都会将其检测为页面重新加载事件。
更新 1
如果检测重载事件并使用session-storage 是最好的方法,那么我可能不得不强调我的主要问题是检测重载事件。每次我在msg.data 中获取数据时,它都会打印This page is reloaded(使用代码sn-p 的注释部分来检测页面重新加载事件)。我想检测我在代码的其他模块中使用的唯一手动重新加载和window.location.reload。
【问题讨论】:
-
您将其钉在标签中,将数据放入会话存储中,在文档读取时将您的会话存储与 div 的内容进行比较
-
我的主要问题是检测网页的重新加载事件。我尝试以各种方式进行检测,但正如我在问题中提到的那样,它检测套接字的
my response事件也作为页面重新加载事件。我该如何避免这种情况?
标签: javascript jquery html local-storage session-storage