2010-04-23 31 views
2

我有一個Web應用程序 - 一個Java servlet,它以瀏覽器中的文本打印輸出的形式向用戶提供數據(用HTML標記文本以便根據需要在瀏覽器中顯示)。文本以不同的顏色顯示,儘管大部分是黑色的。一種典型的操作模式是這樣的:
1.用戶提交表單以請求數據。
2. Servlet將HTML文件傳遞給瀏覽器。
3.用戶按CTRL + A選擇所有文本。
4.用戶確實CTRL + C複製所有文本。
5.用戶轉到文本編輯器並按CTRL + V粘貼文本。複製大量文本時,瀏覽器(IE和Firefox)會凍結

在我遇到這個問題的測試中,第2步成功加載所有數據 - 我們等待完成。我們可以向下滾動瀏覽器加載的內容並查看數據的結尾。但是,瀏覽器在步驟#3(Firefox)或步驟#4(IE)上凍結。因爲步驟#2完成,我認爲這是瀏覽器/內存問題,而不是Web應用程序的問題。

如果我運行查詢來交付更少量的數據(但經過多次查詢,我們得到的數據與上面的查詢相同)並複製/粘貼此文本,我將它保存到的文件大約爲8 MB。如果我通過瀏覽器菜單中的文件另存爲將瀏覽器顯示的HTML保存到我的計算機上的文件,它可以正常工作,文件大小約爲22 MB。

我們已經使用Firefox和IE在2臺不同的計算機上運行(包括運行Windows XP,至少2 GB內存和許多GB可用磁盤空間)。我們還試圖在家庭計算機上從家庭網絡以外的工作(認爲它可能是我們的IT安全軟件導致問題),使用IE運行Windows 7,並且仍然存在問題。當我這樣做時,我可以看到我使用的任何瀏覽器都使用了50%的CPU。 Firefox的內存使用量增長至1 GB左右; IE的停留在幾百MB。我們曾經讓它跑了半個小時,但沒有完成。

我最有可能會修改網絡應用程序,以提供一個純文本文件下載的選項,我想這將得到他們需要的用戶。但同時,因爲我很好奇 - 而且我不喜歡我的應用程序凍結人們的瀏覽器,有沒有人有關於瀏覽器凍結的任何想法?我明白,有時你只是達到了你的記憶極限,但是對我來說,22MB的聲音聽起來像是我應該能夠複製到剪貼板的量。

回答

0

爲什麼不只是做一個File -> Save Page As

+1

即使我做到這一點,並將其保存爲文本文件,有HTML文件中的格式。我的目標是給用戶一個只有數字和沒有標記的文本文件。 – 2010-04-23 18:20:50

相關問題