【问题标题】:HTML5 Shiv not parsing quick enoughHTML5 Shiv 解析不够快
【发布时间】:2012-04-03 17:10:00
【问题描述】:

我们的一位网页设计师目前正在一个网站上工作,并且正在使用 HTML5 元素,她使用文档齐全的 Html5Shiv 在旧版浏览器中对其进行样式化;

http://css-tricks.com/html5-innershiv/

她今天报告了一些非常奇怪的行为,看起来这就是原因。最初它非常混乱,并且大致如下:

“页面看起来不错,我刷新它看起来不错,刷新几次,偶尔它不会将我的样式应用于 HTML5 元素”

目前最好的理论是 shiv 的启动速度不够快,并且页面在新元素注册之前加载。我想知道是否有人可以提出一种可靠的方法来包含 shiv 并确保它在其他元素之前被加载和解析,所以它们肯定会被样式化。

编辑(更多信息)

Shiv 被包含在头部,直接在标题/元标签下方;

<!--[if IE]> <script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->

正在设置样式的位在页脚中并且是跨站点的。许多页面的大小会发生变化,因为它们由我们的营销团队将使用的 CMS 提供支持,因此我无法提供确切的页面大小。我想说的是,如果页面大小是一个问题并且没有解决方法,有人可以告诉我,因为这意味着我们基本上不能在这个项目上使用 HTML5(或者至少我们需要添加多余的诸如 div 之类的标记,以确保布局不会发疯)

编辑 2

不幸的是,我没有机会发布代码 - 它只能在非常模糊的情况下重新创建,并且该项目目前被标记为“绝密”:(如果没有人知道,那么我猜它要么是“每个人都知道它会发生,但有点忽略它”或者只是它不是 shiv 之外的其他东西。

【问题讨论】:

  • 如果我们真正看到引用页面的来源来收集有关文档大小、shiv 位置等信息,这将有所帮助。
  • 它还没有上线(仅在她的开发机器上),只能通过 IE 测试器或虚拟机使其工作 - 最初的想法是这肯定不可能只是发生过的事情对我们来说,所以我猜其他人可能刚刚遇到它并且知道解决方法。不过,我会在帖子中添加一些其他信息。
  • 如果不查看实际站点就很难判断,您是否尝试过删除页面中的所有其他 javascript?我会对网站上的所有脚本进行故障排除。附带说明一下,我已经使用现代化工具有一段时间了,并且遇到了 0 个问题。在您链接的网站上,它看起来像是推荐一个新脚本:code.google.com/p/html5shiv
  • 网站上除了 JQuery 之外没有其他脚本 - 我知道在这种情况下建议很棘手,我希望这将是一个有据可查的问题,但大多数网页设计师社区似乎生活在每个人都使用 Chrome 的某种奇幻世界!不幸的是,我们不是一个选择,因为我们的营销团队几乎坚持支持 IE6 :(
  • 我强烈建议您尝试 Modernizer,这是更新的:modernizr.com

标签: css html html5shiv


【解决方案1】:

您可以尝试将 html5shiv 代码(没有太多)直接放入浏览器的同一位置,看看是否有帮助。这样它就不会等待可能导致问题的单独 HTTP 请求。

编辑 我刚刚注意到您说的是 innerShiv 而不是简单的 html5Shiv。当您动态插入 HTML5 元素时,innerShiv only 是必需的,例如通过 jQuery 和/或 AJAX。这是你在做什么,因为它听起来不像。如果是这样,您只需要html5Shiv

EDIT2啊,您上面的代码使用的是 html5Shiv 而不是 html5InnerShiv...

【讨论】:

  • 大声笑,是的,这里只是标准的 shiv(但也尝试过modernizr)——我同意这里的问题可能是来自 CDN 的数据包丢失。这里强调的一件事是,对于没有启用 javascript 的用户(我讨厌迎合的另一群人!),该网站将完全崩溃,所以我想知道“不要设置 HTML5 元素的样式”是否真的是我在这里需要真正的解决方案。
  • 请做。使用IE8及以下的用户关闭JS,我想知道%是什么? :-)
  • 其实老兄,前几天我想知道有多少 IE6-8 网站点击实际上只是开发人员让他们的网站迎合所有 IE6-8 用户!如果我们都停止一周,统计数据会发生什么变化?
  • 一个有趣的理论!可能至少一半!
  • 只是想回来告诉你我完全打算在这件事上回复你,但是我们的设计师已经被送回绘图板所以我们没有资源目前进行调查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2012-03-05
  • 2013-01-31
相关资源
最近更新 更多