我已经建立了一个图片滑块(基于优秀的bxSlider),它会在图片滑入视野前及时预加载图片。目前它已经基本可用,但我认为我的解决方案不符合有效的HTML规范。
我的技术方法如下:我生成滑块标记,第一张幻灯片图片像往常一样插入(使用
换句话说,我有:
为了避免空的
问题是,我似乎在 data-URI 的文档 中找不到任何关于这是否为有效 data-URI 的说明。我基本上想要最小的 data-URI,以解析为空/透明图像,这样浏览器就可以立即解析 src 并继续执行(没有错误或网络请求)。也许
我的技术方法如下:我生成滑块标记,第一张幻灯片图片像往常一样插入(使用
<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=""
属性(在 一些浏览器 中会 影响性能),我插入了 src="data:"
以有效地插入一个空白图像作为占位符。问题是,我似乎在 data-URI 的文档 中找不到任何关于这是否为有效 data-URI 的说明。我基本上想要最小的 data-URI,以解析为空/透明图像,这样浏览器就可以立即解析 src 并继续执行(没有错误或网络请求)。也许
src="data:image/gif;base64,"
更好?
data:image/gif;base64,
作为src
使用怎么样?甚至更短的data:,
以逗号结尾。它似乎是有效的 HTML,并且在每个现代浏览器中都可以正常工作,没有任何错误。有什么反对使用它的论据吗? - bobo