HTML5 Shiv解析速度不够快

时间:2012-04-03 17:10:01

标签: css html5 html5shiv

我们的一位网页设计师目前正在开发一个网站,并且正在使用HTML5元素,她使用记录良好的Html5Shiv在旧版浏览器中进行了样式设计;

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

她今天报道了一些非常奇怪的行为,看起来这就是原因。最初它非常令人困惑,并采取了一些措施;

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

目前最好的理论是,shiv没有足够快地踢,并且页面在新元素注册之前加载。我想知道是否有人可以提出一种确定的方式来包括shiv并确保它已被加载并在其余元素之前被解析,因此它们肯定会被设计样式。

编辑(更多信息)

Shiv被包含在头部,直接位于title / meta标签下方;

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

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

编辑2

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

1 个答案:

答案 0 :(得分:2)

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

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

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