2011-05-16 45 views
0

這個問題可能有點理論性(我的意思是修辭?)還是模糊的,但是無論如何,這是一個問題。向DOM添加內容:任何限制?

我打算構建一個網頁,其中內容將通過Ajax請求添加並使用選項卡和窗格顯示。初始視圖只有一個選項卡並顯示鏈接列表。點擊鏈接將打開一個新的標籤頁/窗格。用戶可以瀏覽標籤並關閉它們,就像在Web瀏覽器中一樣。

我可以構建一個能夠顯示無限數量的選項卡的UI,但這意味着要將DOM內容添加到儘可能多的窗格(可能還有很多)。更可能的是,我將設置限制多少個標籤可以同時打開。但是,這個限制應該是什麼?你會遵循什麼規則?您對DOM文檔的多少內容可以持有多少內容而不影響性能的體驗?

+1

由於DOM文檔屬於客戶端瀏覽器,性能的影響因客戶端機器內存和處理能力而異,所以在阻止性能之前無法預測確切的數量。我認爲你應該保持它的最小數量的選項卡。 – 2011-05-16 07:53:13

+0

是的,這就是說我的問題有點「模糊」。這與你在平均配置中感覺到的安全極限有關。 – 2011-05-16 07:55:11

回答

2

有沒有辦法回答你的問題。例如,我現在將Chrome和Firefox並排運行。所有瀏覽器一起需要9.85GB的共享內存(所以有些內存在所有瀏覽器之間共享;我只有8GB內存,實際使用中約2GB)。

沒有JavaScript API來告訴內存何時變得緊張;唯一的跡象是機器正在開始交換或瀏覽器崩潰。

所以,你有以下解決方案:

  1. 限制用戶的東西太小了。對你有好處,對像我這樣的高級用戶不利。

  2. 設置限制太大。對你不利,因爲用戶將開始抱怨你的愚蠢的網站使他們的瀏覽器崩潰,但對我很好。

  3. 不是設置限制,而是清除不可見的窗格。將窗格的狀態保存在某處(服務器,local storage),並在用戶打開它時進行恢復。很費力,但它會解決你的問題。

+0

謝謝亞倫。至少我明白你不會抱怨我的愚蠢的網站! PS:你關於本地存儲的鏈接看起來很有趣。 – 2011-05-16 08:08:03