2017-06-16 39 views
-5

我正在創建一個網站,我需要每隔X秒刷新頁面以檢查API中的新數據。 在頁面上我還有一個chatarea,由javascript和NodeJS控制,人們可以在這裏聊天。每次刷新頁面,聊天都會重置。 如何在頁面重新加載後「複製」chatarea div並「粘貼」它?複製div並在頁面刷新後粘貼

+1

爲什麼不使用ajax來檢查新數據而不是頁面刷新? –

+0

或者用聊天文字設置cookie var – Roy

+0

我必須刷新。 – Grizzlly

回答

-1

您可以保存jQuery的或只是JavaScript中的含量是這樣的:

var text = $('.chatcontainer').text(); 

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=/"; 
} 

並致電該功能:

setCookie("chat",text,1); 

及後重裝從cookie得到它:

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 ""; 
} 

然後:

$('.chatcontainer').text() = getCookie(chat); 

document.getElementByClassName("chatcontainer").textContent = getCookie(chat); 
+1

這將無法正常工作,javascript和jquery vars重置頁面刷新。 – Roy

+1

你在開玩笑吧? **頁面刷新後,整個腳本被重新加載,所以作爲變量和其餘的代碼!** –

+0

你可以在保存文本後做一些請求或保存它的東西。我沒有打算在保存重新加載並設置後... –

-1

功能通過名稱獲取餅乾請重新廣告this。我強烈建議使用事件源,而不是重新加載或使用ajax。

0

你真的需要刷新嗎? 因爲我的解決方案可以與僞刷新工作: 你可以嘗試一種形式添加到頁面

action="same-old-url" 
method="POST" 

,然後代替提神,提交表單,並插入到POST數據的HTML內容聊天。然後每次在POST數據中讀取,如果你有一些html添加到你的聊天。

不是真的刷新,但效果是類似的:頁面重新加載,但從技術上說它更像是一個重定向。