复制div并在页面刷新后粘贴它

时间:2017-06-16 10:12:51

标签: javascript php html

我正在制作一个网站,我需要每隔X秒刷新一次页面,以检查来自API的新数据。 在页面上我还有一个chatarea,由javascript和NodeJS控制,人们可以聊天。每次刷新页面时,聊天都会重置。 如何“复制”chatarea div并在页面重新加载后“粘贴”它?

3 个答案:

答案 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)

请阅读enter image description here。我强烈建议使用事件源,而不是重新加载或使用ajax。