2011-11-03 84 views
1

我正在構建一個投資組合頁面,其中包含相當多的圖像。我從數據庫中提取圖像url,並從原始源創建縮略圖,並顯示縮略圖。點擊時,顯示原始的全尺寸圖片。預加載/ AJAX - 最佳方法?

加載時間obviuosly影響,該網站需要一些時間顯示任何東西之前...

我試圖把所有這一切在阿賈克斯,但似乎AJAX只是reqally有效的,如果該網站已開始加載。就像現在一樣,該網站在等待完成工作的時候「掛起」。

任何關於將「請等待,而我iamges laod」部分放入容器中顯示內容的任何想法?

在此先感謝。

+0

哇,Ajaz ?! :) – plaes

+0

快速的手指!並在離開辦公室之前被推入...現在,這已經解決了......幫助!? –

回答

2

通常你創建你的頁面發送圖像ID,以HTTP處理程序,像

<img src="image-handler.ashx?id=SOME_ID" alt="..." /> 

在這裏表現的關鍵是,你就可以從該處理程序緩存圖像。您可以將生成的縮略圖保存到磁盤並檢查是否存在,如果然後使用類似Response.TransferFile()的文件發送文件(或者實際上在創建圖像時創建縮略圖文件,而不是加載它們),或者甚至更好,則應用輸出緩存處理程序,與參數id鍵不同。

對於完整的圖像也可以使用相同的技術。此外,您還可以在點擊縮略圖之前通過AJAX設置一些隱藏圖像,以便在單擊縮略圖並顯示完整圖像時準備就緒。

根據我從問題中得到的細節數量,這些只是高層次的想法。