当前位置: 代码迷 >> Web前端 >> IE6反复加载图片BUG
  详细解决方案

IE6反复加载图片BUG

热度:126   发布时间:2012-08-25 10:06:20.0
IE6重复加载图片BUG
1. 首先CSS背景图重复加载有解决方案,大家都知道。

解决方案:
if (IE6) {
    try {
        document.execCommand("BackgroundImageCache", false, true);
    } catch(err) {}
}


2. 通过JavaScript代码插入多个SRC相同的IMG元素。

解决方案:

<script>
	window.onload = function() {
		var div = document.getElementById('J_test');
		var html = [
			'<img src="space.gif" />',
			'<img src="space.gif" />',
			'<img src="space.gif" />',
			'<img src="space.gif" />'].join('');
		// 延迟插入HTML
                setTimeout(function() {
			div.innerHTML = html;
		}, 0);
	};
</script>
<div id="J_test"></div>
<!-- 预先加载space.gif -->
<div style="display:none;"><img src="space.gif" /></div>


备注: 在jQuery.raedy里延迟0s会无效,必须等到space.gif加载完后延迟0s才有效果。

参考文档:
  • http://ued.taobao.com/blog/2010/05/17/ie6-duplicate-load-bug/
  • http://www.zachleat.com/web/dear-ie6-please-cache-my-images/
  • http://support.microsoft.com/default.aspx?scid=kb;en-us;319546
  相关解决方案