看一看这个幻灯片:为什么资源预取在IE11中不起作用?
http://www.jungledragon.com/all/slideshow/promoted
它加载一个大的图像,并且在底部有9张缩略图,其中当您切换拇指图标按钮就可以看到。
作为加快该幻灯片,我包括了大版每个拇指的链接预取语句测试:
<link rel="prefetch" [large image url 1 here]" />
<link rel="prefetch" [large image url 2 here]" />
<link rel="prefetch" [large image url 3 here]" />
<link rel="prefetch" [large image url 4 here]" />
<link rel="prefetch" [large image url 5 here]" />
<link rel="prefetch" [large image url 6 here]" />
<link rel="prefetch" [large image url 7 here]" />
<link rel="prefetch" [large image url 8 here]" />
<link rel="prefetch" [large image url 9 here]" />
你会发现在页面的源代码上面。这个想法是,当前批次的所有大版本(9张图像)都会预加载,以便用户在浏览幻灯片时可以立即显示大图像。
执行此操作后,我一直在测试效果。测试指令很简单:
- 访问幻灯片放映几秒钟链接
- 等待(允许预加载)
- 移动到下一个图像的几十倍。如果这几乎立即工作,预取成功。如果图像加载需要2-3秒,则表示失败。
或者,您也可以打开浏览器的检查器窗口,网络选项卡,并查看从缓存中预加载检索。请注意,如果您多次执行此测试,则需要每次清除缓存。
铬导致
在Chrome的结果是壮观。预取提示被积极挑选。它和它一样好。
火狐导致
Firefox的预取比较积极和更慢。尽管如此,至少它可以预取,并且它可以工作。
IE11导致
IE11声称支持资源预取,但它具有零效果。在Windows 8.1/IE11中,没有任何图像立即加载,似乎没有什么,也没有在浏览幻灯片之前等待很长时间。在IE的开发工具中,我可以确认网络选项卡没有显示预取活动。
我后来得知,预取不能在开发工具打开的情况下工作,但即使在关闭时也没有预取正在进行,我可以从响应时间中看到。
任何想法为什么这适用于Chrome和Firefox,但不适用于IE11?它应该得到很好的支持,但我无法让它工作。这是跨域提取,不论是HTTP还是HTTP,跨域预取都应该按照规范工作。
您可以使用Telerik出色的Fiddler工具查看下载的图像,而无需使用开发工具中的“Network”选项卡。 http://www.telerik.com/fiddler – pwdst 2014-08-29 11:24:36
查看MSDN - “IE11最多支持十(10)个预取请求,其他请求被忽略。” http://msdn.microsoft.com/en-gb/library/ie/dn265039(v=vs.85).aspx - 在图像之前是否有任何请求(样式表,脚本等)? – pwdst 2014-08-29 11:28:15
@pwdst是的,但不是预取请求。 – Ferdy 2014-08-29 12:07:12