我正在制作一个网站,我需要每隔X秒刷新一次页面,以检查来自API的新数据。 在页面上我还有一个chatarea,由javascript和NodeJS控制,人们可以聊天。每次刷新页面时,聊天都会重置。 如何“复制”chatarea div并在页面重新加载后“粘贴”它?
答案 0 :(得分:0)
你真的要刷新吗? 因为我的解决方案可以使用伪刷新: 您可以尝试使用
向表单添加表单action="same-old-url"
method="POST"
然后不是刷新,而是提交表单并在POST数据中插入聊天的html内容。然后每次读取POST数据,如果你有一些html要添加到你的聊天中。
不是真正的刷新,但效果类似:页面重新加载,但从技术上讲,它更像是重定向。
答案 1 :(得分:-1)
您可以通过jQuery或Javascript保存内容,如下所示:
var text = document.getElementByClassName("chatcontainer").textContent;
或
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
然后使用以下功能将其保存到cookie:
setCookie("chat",text,1);
并调用函数:
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
重新加载后从cookie中获取:
按名称获取Cookie的功能:
$('.chatcontainer').text() = getCookie(chat);
然后:
document.getElementByClassName("chatcontainer").textContent = getCookie(chat);
或
{{1}}
答案 2 :(得分:-1)