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