0

我的一个朋友在http://analyze.websiteoptimization.com/上扔了一个我通过该工具制作的网站。当他回到我身边时,他坚持说我的浏览器只在网站的主页上预加载了大量不相关的图像。

我回到他身边,坚持认为 YSlow(以及浏览器中的其他“网络”标签)证明只有专门显示的图像和内容才会加载到主页上——没有别的。我坚持认为该站点的统计数据仅用于完整访问该站点并下载所有必需的图像。

然而,他并不相信,认为某些浏览器(即 IE)无论如何都会预加载那些不相关的内容。出于这个原因,他使用全局 CSS 样式表,然后通过加载单独的样式表将更改应用于各个页面。

我认为最好的做法是尽量减少对服务器的请求,而不是添加更多,这就是我们有 CSS sprites 的原因。我还认为浏览器永远不会加载图像,除非需要它们来显示页面。

我不相信我可以接受没有健康讨论的答案。

  • 我是否正确,因为浏览器没有在每个页面上加载所有内容?
  • 上面的工具不正确吗?
  • 我朋友从工具结果中学到的教训不正确吗?

谢谢。

4

2 回答 2

1

浏览器通常只会加载页面中实际显示的内容。(然而,在一些异国情调的浏览器中可能会有例外,比如 Opera Mini。)

WebSiteOptimization 工具只会查看 HTML 和 CSS 中引用了哪些图像,而不是页面中实际使用了哪些图像。

当我分析我自己的网页时,该网页有八张不同的背景图像,每次显示一张随机选择,该工具说所有八张图像都已加载,只是因为它们在 CSS 中。检查 Firebug 和 IE 开发人员工具中的网络流量表明它们不是。

于 2012-09-17T19:50:19.810 回答
-1

据我说

浏览器有时会加载缓存的图像,但较新的更新可以检查图像是否已更改。还有一些权限,编码人员可以设置是否允许浏览器缓存。当使用 yslow 或Google page speed时,这是一个更好的工具,请尝试使用 control+f5 刷新您的页面,以便在没有任何脱机文件的情况下强制重新加载网站。您还可以根据自己的喜好设置浏览器权限。

我还想补充一点关于您的最后一行的信息,即使隐藏了 css 属性,浏览器也会加载代码中链接的所有图像。

它总是先加载 img 标签中的东西,然后加载 css 代码中的所有图像。

它还将按顺序处理图像请求,即先到先服务器

我希望这会有所帮助。

于 2012-09-17T19:16:49.710 回答