2012-12-01 104 views
1

好了,所以我有了加載時很好看一些高清晰度圖像的頁面(但不是那麼大,當用戶看到初始頁面下載半載的) 。我研究的jQuery預加載圖像(如這個非常helpful Q/A在這裏),但事情是,我的網頁基本上是由Ember.js控制的應用程序 - 所以我不知道從哪裏最好插入圖像預載代碼,我似乎無法找到任何有關頁面完成加載前運行Ember.js代碼的文檔(就緒功能可能爲預加載圖像太晚,因爲它在頁面完成後運行正確嗎?)預加載頁面資產Ember.js和jQuery

Bottom行:如果我有Ember.js,哪裏是放置圖像預加載代碼的最佳位置?

回答

3

沒關係,你可以使用JavaScript在任何時候預先載入圖像。

但是你需要考慮帶寬消耗和可能parallell下載時段限制,在某些瀏覽器,所以我建議不要你的應用程序之前預加載許多大型圖片和UI完成。

這裏是一個最小的代碼例如:

(new Image).src = 'preload.jpg'; 
+0

你能解釋一下嗎?不確定你的意思是'但是你需要考慮帶寬消耗,以及在某些瀏覽器中可能的平行下載插槽限制,所以我建議你在應用程序和用戶界面完成之前預先加載大量圖像。 –

+1

我的意思是我假設你希望你的應用盡可能快地加載。如果您在加載App之前將大圖片推入內存,它可能會負面影響App/UI加載時間。您想要在背景中預先加載離散圖像,而不會產生任何副作用。所以我建議你在用戶使用App的時候開始預加載(加載之後)。 – David

1

基本上ü要寫入其中需要Emberjs應用類/對象之前運行的功能。所以你可以在創建或初始化Application對象之前運行該函數。我建議你在創建Application對象之前這樣做。

+0

我明白了。有沒有什麼辦法可以在執行這個函數的時候,在加載所有資產/圖片之前,基本上實現一個白色屏幕+一點CSS加載動畫? –

+2

@UzumakiNaruto我強烈反對這個建議,聽起來好像是1998年閃存一遍;) – David

+0

@大衛大聲笑 - 是啊,我的整點是爲了避免閃存1998年的粘性。 –