我正在構建一個小型聊天應用程序,以瞭解jQuery和AJAX。 這是所有偉大的工作,但在那一刻,客艙與下面的代碼抓住log.html的HTML在某個區間:在AJAX請求中獲取最後一個div的值
function loadLog(){
$.ajax({
url: "log.html",
cache: false,
success: function(html){
$(".chatbox").html(html); //Insert chat log into the #chatbox div
},
});
}
現在,如果用戶試圖複製線,它的小蟲子掉出來因爲每隔幾秒就會刷新一次html。 所以我想構建一個檢查記錄最後一個已知的消息,並將其與日誌中的最後一條消息進行比較。如果它們不匹配(出現了新消息),那麼瀏覽器纔會刷新聊天室中的html。
我對AJAX和Jquery很新,所以我想問你們以下問題: 比較log.html中最後一條消息和chatbox div中最後一個div的最佳方式是什麼?
我的理論將
success: function(html){
$(html).find(last(div));
},
但我不知道究竟如何獲得最後一個div的價值。
我希望我解釋得很好。 此外,歡迎任何想法:)
P.S.這是log.html線
<div class='msgln'>(4:40 PM) <b>Jeroen</b>: Welcome<br></div>
你能以什麼樣的方式是更好的解釋?在性能或易用性方面更好嗎? – Alterlai
@Alterlai在性能方面更好。由於數據存儲並且很容易獲得,所以在通過DOM進行搜索以找到它時沒有開銷。特別是因爲你計劃每隔幾秒鐘執行一次搜索。如果還有其他進程在同一時間發生,比如播放GIF,它可能會給瀏覽器帶來壓力,並且會出現可見的副作用,例如瞬間死機或抖動動畫。 – Dom
好的謝謝你的解釋,我會給它一個鏡頭! – Alterlai