【问题标题】:Preventing <link>ed CSS file blocking downloads in Internet Explorer 7在 Internet Explorer 7 中防止 <link>ed CSS 文件阻止下载
【发布时间】:2011-01-19 23:18:20
【问题描述】:

Internet Explorer 7(但不是 8/9)会阻止任何下载,直到 CSS 文件在我们的网站上完成。

我们没有围绕它使用 Internet Explorer 测试&lt;!--[if IE ]&gt;&lt;![endif]--&gt;,也没有使用独立于协议的 URI(// 而不是http://)。这只是一个直截了当的/css/global/core.css 链接,但浏览器会等到下载完成后再开始。

是否有任何技术可以防止这种行为?

PS:所有的 JavaScript 都在底部,所有的静态内容都托管在另一个域上(除了 CSS,因为它可以在 HTML 文档之后重用现有的连接,从而为用户带来更快的体验,甚至带有额外的 cookie 标头)。

编辑:

问题在于,使用 DynaTrace 分析 IE7 会导致 CSS 文件阻止进一步下载,但关闭 DynaTrace 后它可以工作。所以这是一个 DynaTrace 错误,而不是 IE7 错误。

使用 DynaTrace:

没有 DynaTrace:

【问题讨论】:

  • 除非有一些通用技术适用于您的情况,否则我认为我们需要一个指向您网站的链接来查看源代码。
  • 有趣的东西!您可能想尝试一个名为“fiddler”的工具来进行跟踪,它的分析功能没有那么强大,但它非常“低级”,因此不会扭曲任何结果。
  • 它已经是我武器库的一部分,但感谢您的洞察力。如果有任何工具(除了 PageSpeed/Chrome/DynaTrace/DragonFly)来诊断 CSS/JS 延迟和执行时间,那太好了!上面的图表是使用 WebPageTest.org 创建的,它允许我们在不支付 Gomez 的情况下尝试不同的地理位置。
  • WebPageTest.org 看起来不错 - 我以前没用过,谢谢你的提示。

标签: css internet-explorer


【解决方案1】:

您是否达到了每个域的并行下载数量限制?

我相信 IE7 的默认值是每个域 2 个文件,而许多较新的浏览器默认支持 6 个。

http://www.stevesouders.com/blog/2009/05/12/sharding-dominant-domains/

【讨论】:

  • 添加 static3(另一个域)或降级到 HTTP/1.0 实际上会降低本网站的页面速度(无论是在基准分数上还是在 IETester 中的视觉上)。 IE7 会错开下载(并花费很长时间为每次下载创建新连接),即使它可以打开足够多的套接字来并行下载所有资源。虽然这种行为不会影响我维护的所有网站。
  • 您使用的是 CNAME 吗?因为这可能会影响事情 - 因为它会导致双重域名查找......我想知道 IE7 是否会将 CNAME 视为单个域?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多