我有一個XML引用,引用了相當大的外部圖像文件(200kb)。它們導致真正的加載時間過長,從而導致頁面崩潰。在一個div中,我加載了20個像這樣的圖像。每個div都在單獨的部分中加載。這些部分(product
_item)需要40-400毫秒才能加載(!),主要是因爲大圖像。Rails在不崩潰的情況下加載較大的外部圖像
外部圖像需要是外部的(所以任何AWS解決方案)都不起作用。
的「慢部分」是摺疊的下方,可以很容易地隱藏「直到需要」。
<div id="slow-portion">
<% @product.each do |product| %>
<%= render 'product_item' %>
<% end %>
</div>
我剛剛實施,我認爲會解決這個問題的圖像(http://www.appelsiini.net/projects/lazyload)的延遲加載,但它似乎像頁面仍然會等到一切都被加載(包括大型圖像文件),它顯示的頁面之前。每個product_item的加載時間仍然相同。
這是已經非常令人沮喪,所以我想知道,在相當一般來講,我應該怎麼解決這個問題。
- 是否有可能在Rails中超時部分。即如果「慢速部分」在3秒內未加載,它不應該顯示?
- 圖像的延遲加載是否應該解決這類問題?即這是我應該解決問題的麻煩嗎?
- 我可以解決這個頁面的慢部分的Ajax加載?基本上,該部分將顯示一個「等待符號」,直到「慢速部分」完全加載完畢?
- 是否有任何其他方式不會導致崩潰(503錯誤)和超時由於視圖加載時間太大?
的任何解決方案,將工作是爲我好!
您的product_item模板的外觀如何? – arjabbar
它有一個標題標題,一個image_tag和一個鏈接。 – Christoffer
基本上,瀏覽器讀取圖像需要400ms?不是服務器對'
'標籤的實際渲染權限?如果你使用'curl'或'wget'來獲取這個頁面,那麼它會加載相對較快的權利? –
arjabbar