html - 浏览器是否会在 CSS 文件中预加载图像,而不考虑页面上的使用情况?

标签 html css performance yslow preloading

我的一个 friend 在 http://analyze.websiteoptimization.com/ 扔了一个我用这个工具制作的网站.当他回来找我时,他坚持说我的浏览器只在网站的主页上预加载了大量不相关的图像。

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

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

我认为最好的做法是最小化 对服务器的请求,而不是添加更多请求,这就是我们拥有 CSS Sprite 的原因。我还认为浏览器从不加载图像,除非它们需要显示页面。

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

  • 浏览器没有在每个页面上加载所有内容,我说得对吗?
  • 上述工具不正确吗?
  • 我的 friend 从该工具的结果中学到的教训是否不正确?

谢谢。

最佳答案

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

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

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

关于html - 浏览器是否会在 CSS 文件中预加载图像,而不考虑页面上的使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465641/

相关文章:

html - 在 html/css 中对齐按钮

css - 在 React Native 中使用 Flexbox 有困难

c# - 如何在C#中获取主板传感器读数

Python - 在字符串中查找字符串列表的出现

javascript - 如何保护我的 html 元素值?

jquery - 使用CSS在子菜单前添加三 Angular 形

在平板电脑上长按/点击时触发 Javascript 事件

html - 使用css为下拉框(select2)创建 'streachy'效果

html - 为什么我的搜索栏中的占位符文本没有出现在 Firefox 中

php - 检查空数组 : count vs empty