2011-07-29 26 views
2

我正在開發攝影作品集網站。我想知道從數據庫下載圖像的最佳做法是什麼。截至目前整個畫廊大約20MB。畫廊仍在開發中,我打算在照片之間進行「加載」圖形運行。但客戶似乎更喜歡圖像預加載。預先加載20MB以上的照片是否實用?如果是,那麼最好的方法是什麼?或者最好是與加載屏幕一起去?預加載20MB以上的圖片。這是否值得嘗試?

+0

」或者最好是與加載屏幕一起去嗎?「?這是什麼意思? –

+0

如果你的客戶想要預加載,我會說加載屏幕是一個好主意,而不是讓瀏覽器在後臺預加載時掛起。 –

+0

@Kragen給出了一個非常好的理由,爲什麼你不應該這樣做,但如果你的客戶堅持,並且你不能改變主意,那麼你應該發佈免責聲明,或許在一個醒目的頁面上,通知所有訪問者訪問該網站將花費20MB的信貸。我曾經自己使用移動連接,並主動避免使用自動播放視頻,音樂和緩衝圖像緩存的頁面和網站。 – stephenmurdoch

回答

4

20MB的要一次提取的實在是太多了,它會導致慢和惱人的用戶體驗。您應該依次ajax加載每個圖像。

令人難以置信的是,你的圖像有多大? 800 x 600 jpeg的質量應該在90-95%左右,約爲50k。所以20 MB將是400圖像。這似乎很像一個頁面。我猜你的圖像尺寸很大 - 考慮減少它們。如果您想擁有高分辨率,非壓縮版本,請單獨鏈接。

編輯:僅供參考,我認爲一個非常大的頁面(html文檔+所有css,js和圖像資產)將爲〜1MB。一個「平均」大小的頁面可能約爲100k。

+0

這會解釋一些事情。他發給我的圖片是800x600,但是200-700kb。我壓縮了它們,並使尺寸縮小了很多。 – DavidR

4

爲什麼通過一些服務器端腳本沒有「縮略」圖像,縮略圖預裝顯示&完整的圖像縮略圖上點擊(使用某種收藏的js) 這同時保持充分porfolio預覽會減少很多預壓時間。

2

我認爲更好的辦法是預裝接下來的照片,而你正在查看當前的

0

我不認爲任何解決方案都是實用的 - 我建議你縮小你的圖片。

0

20MB可能太多了,除非它是一個專門的應用程序,您可以確信1)用戶將等待並且2)他們將查看大部分這些圖像。否則,你正在浪費帶寬。

我會看看一種策略,即將圖像緩存在服務器內存中,以避免數據庫流量與客戶端預緩存一些圖像(可添加它)結合使用。例如,如果用戶在圖像「A」上,也加載「B」和「C」。

2

是的,絕對不要這樣做。請記住,有些用戶將與移動連接連接,其中一些用戶通過兆字節支付 - 如果您這樣做,那麼您已經用了20 MB的補貼,但他們可能永遠看不到圖像。 「