網頁中圖片預載入的原理
阿新 • • 發佈:2018-11-14
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
其實我並不清楚圖片預載入的原理,只是一些猜測。
網上介紹的圖片預載入,基本上都在說javascript中應該怎麼樣怎麼樣,new一個Image()物件。
但是,老大,預載入的目的,歸根到底,還是要將這個圖片顯示出來。你javascript裡面的這個Image物件,要怎麼樣才能讓網頁的img標籤顯示出來呢?
沒說,好像都沒說。
在HTML標籤IMG裡,src屬性可以指向一個web服務,這是人所共知的。問題是,它能指向js的那個Image物件嗎?未聞也。
從網上一些示例看,我猜是這樣的:
javascript程式碼:
var img = new Image();img.src = "圖片路徑";//將圖片載入到JS物件img裡
- 1
- 2
html:
<!-- html裡的img標籤,其src與js的Image物件一致,圖片的預載入就能派上用場! --> <img id="img1" src="圖片路徑,與js的Image物件的src一致" alt="左直拳豔照門" />
- 1
- 2
就是這樣,首先在JS裡面進行預載入,然後html裡的img就能自然而然地用上了這個預載入!
如果真的是這樣的話,控制這一切的,是瀏覽器,它統一協調了JS和HTML。
利用JS對圖片進行載入,有時會比較方便,比如設定圖片載入完畢以後,觸發一些啥東東;或通過Image物件,獲得圖片的width、height屬性,等等。
function preloadImg(url) { var img = new Image(); img.src = url; if(img.complete) {//如果有快取 //接下來可以使用圖片了 //do something here } else { img.onload = function() { img.onload = null; //接下來可以使用圖片了 //do something here }; }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15