2011-05-12 37 views
4

我已經看過一些關於如何爲圖像創建JavaScript預加載器的教程。是否有可能爲其他JavaScript使用JavaScript預加載器?更多JavaScript的JavaScript預加載器

我的網站使用mootools(以及其他)動畫和大量的圖片等 - 因此它需要一段時間來加載。是否有可能讓網站在頁面中居中放置一個「加載」 - 除非所有Javascript庫加載,所有圖像加載等,否則不會有任何更多內容。該網站擁有約30萬的JavaScript(壓縮),800k的圖片在頭版。

在純Flash設計中,可能會讓Flash影片簡單地說在任何關聯的庫,其他代碼,圖像,下載和出現之前加載。這可以在JavaScript中完成嗎?

+0

您是否必須一次加載所有內容?我的意思是你肯定不能在單個頁面上顯示800K的圖像。那麼爲什麼不盡快提供東西,然後繼續默默地加載其餘的東西呢? – 2011-05-12 22:17:36

+0

預加載是如此1999!很久以前,在一個WEB很遠的地方,我用普通的js寫了這個:http://fragged.org/dev/preloading-images-via-javascript.php - 也許它會幫助你,它會給你實時的% 反饋。我還編寫了一些基於mootools的工具,用於lazyloading javascripts(按順序排列),以使用mootools提供的Asset.images。 – 2011-05-12 22:50:34

回答

4

執行上的window.onload所有的代碼()

這裏是一個可笑的簡單例子,給你的基本思想:http://jsfiddle.net/kennis/jHJ3T/1/

可怕的紅格爲您的預加載的思考。一旦文檔加載所有資源(圖像,js文件,無論),預加載器就會消失,您的內容現在可見,並且您的JavaScript庫已經完全加載並準備好執行。

如果您想多次運行jsfiddle示例,請更改圖像標記末尾的「隨機」值,以便您的瀏覽器不會拉取緩存版本。

+1

我想他是問如何通過XHR加載JavaScript,並且在加載時如何顯示指標。 – Mario 2011-05-12 21:50:21

+0

啊,好的。那不是我最初的印象。 – 2011-05-12 21:53:23

+0

或者他可以做你的選擇。當所有的腳本和元素都已準備好並準備就緒時,請使用'onload'將其移除。 – Mario 2011-05-12 21:55:13