我已經構建了一個圖像滑塊(基於極好的bxSlider),它將在圖像滑入視圖之前及時預加載圖像。它工作得很好,但我不認爲我的解決方案是有效的HTML。作爲數據編碼的空白圖像-uri
我的技術如下:我生成滑塊標記,並像往常一樣插入第一張幻燈片圖像(使用<img src="foo.jpg">
),並在<img data-orig="bar.jpg">
等數據屬性中引用後續圖像。一個Javascript然後在必要時變更data-orig -> src
,引發預加載。
換句話說,我有:
<div class="slider">
<div><img src="time.jpg" /></div>
<div><img src="data:" data-orig="fastelavn.jpg" /></div>
<div><img src="data:" data-orig="pels_strik.jpg" /></div>
<div><img src="data:" data-orig="fashion.jpg" /></div>
</div>
爲了避免空src=""
屬性(其在some browsersharmful to performance),我已經插入src="data:"
有效地插入一個空白圖像作爲佔位符。
事情是,我似乎無法找到documentation for data-URI中的任何內容,說明這是否是有效的數據URI。我基本上想要最小化的數據URI解析爲空白/透明圖像,因此瀏覽器可以立即解析src並繼續前進(沒有錯誤或網絡請求)。也許src="data:image/gif;base64,"
會更好?
只需使用空散列。 http://stackoverflow.com/a/28077004/3841049 – iGidas 2015-02-12 20:09:50
@iGidas:糟糕的主意,因爲許多瀏覽器實際上會向主頁面發出第二個請求(導致比原始圖像更差的性能影響,並在您的系統中創建令人迷惑的條目服務器日誌),嘗試將HTML解釋爲圖像,拋出錯誤,並且可能導致真正的應用程序錯誤(例如,在購物車/結帳頁面中,頁面刷新導致更多項目被添加到籃子中或觸發安全措施) – 2015-12-11 10:33:27
實際的'data:image/gif; base64,'用作'src'怎麼樣?甚至更短的數據:以昏迷結束。似乎是有效的HTML,並且在每個現代瀏覽器中都可以正常工作。任何反對使用它的論據? – bobo 2017-01-02 20:55:42