我正在編寫一個聊天應用程序,並且它變得更復雜一些,因爲我希望它具有交付確認,消息緩存等功能。在這種情況下,使用html字符串的片段有什麼優勢嗎?
現在,我正在處理消息緩存的方法是:
用戶點擊對話
第一批從服務器獲取信息存儲在「塊」的,裏面數組。
- 每個塊都是一個文檔片段,其中n附加到它的消息數量(DOM元素)。
- 當用戶向上滾動時,更多的塊(片段)被添加到數組中,因爲它們是從服務器獲取的。
- 當用戶進入到另一個會話,但隨後決定加載先前加載的會話,該腳本附加所有片段到一個單一的一個,並且大片段被附加到消息窗口。
這是如何與消息「塊」的陣列看起來像如果用戶已經提取的大量的消息:
conversation[2].chunks = [
#document-fragment,
#document-fragment,
#document-fragment
];
每個片段具有內所附約10的消息。
在使用片段之前,我通過獲取每個消息的HTML表示來使用字符串。是這樣的:
conversation[2].chunks = [
'<span class="msg">Hey</span><span class="msg">Hey</span>...',
'<span class="msg">Bla</span><span class="msg">bla</span>...'
];
我決定使用的片段,因爲我發現操縱每個消息容易(通過執行這樣的東西fragment.getElementById),與具有使用innerHTML解析字符串和操縱元件。
不過,我現在質疑它是否是正確的選擇,因爲我不知道,如果保持一個陣列內片段實際上是內存密集型,或者至少更多的內存密集型不是字符串。 另一個缺點是,現在,如果我想的片段存儲在localStorage
,我不得不給每個片段的內容轉換爲HTML字符串,當我想用localStorage
與我的片段一起的系統,我不得不轉換每個HTML字符串返回到文檔片段。
使用片段顯得更自然,但現在我想的要回保持HTML字符串。然而,這是一項工作,因爲我沒有舊的代碼了。
在這種情況下使用HTML字符串的片段是否有優勢?
謝謝。
你用JSON試過嗎? JSON更好,因爲您可以在網絡中的數據傳輸中使用更少的長度處理數據結構。 –
嗯,所有的數據都以JSON傳輸。我也可以存儲JSON字符串客戶端,但是隨後每次我想在UI中顯示它們時,都必須生成消息的HTML。我現在正在做的是從JSON構建HTML一次,然後決定是否將該HTML存儲爲片段或字符串。或者,也許我得到的建議是錯誤的?謝謝。 –