0

我正在尝试做的 我正在尝试使用 HTML5 shiv 来允许 HTML5 元素在 IE 中工作。我在另外两个例子中使用过这个没有问题。

我在做什么我在 加载所有其他脚本之前打开我的标题标签后立即将此脚本包含在我的标题中。

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

我还在我的 CSS 中包含了这些 HTML5 元素的标准显示:块样式。

发生了什么 但是这在 IE 7 和 8 中不起作用。元素未呈现。从我读过的内容来看,HTML5 Shiv 的标签可能非常严格。例如,我的标签加载如下:

<html lang="en" jQuery19109983433033032547="1">

我的身体标签也这样加载:

<body class="sitedefault">

我一直保持我的 JQuery 加载版本一致,并遵循我在之前的实现中所阅读的与 HTML5 Shiv 相关的其他方向,但仍然遇到这个问题。在这一点上的任何帮助将不胜感激!

我也尝试过在本地托管 Shiv 文件,但没有成功。

以下是源代码在 IE8 中的外观:

<!DOCTYPE HTML>
<html lang="en" >
<head>
<!-- Pano-Framework Requirements Start //-->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="/script/respond.min.js"></script>
<link type="text/css" rel="stylesheet" href="/styles/pano-framework.css" />
<!-- Pano-Framework Requirements End //-->

在此之后有很多东西加载,但这是我的第一部分。我完全不知道为什么这不起作用。

更新 我发现 IE 在我的部分的最顶部加载了这个样式表,这可以解释这个问题:

article {
    DISPLAY: block
}
aside {
    DISPLAY: block
}
dialog {
    DISPLAY: block
}
figcaption {
    DISPLAY: block
}.....

它像这样加载:

<style>CSS Stylesheet</style>

我不确定是什么在加载这个或者为什么它在 HTML5shiv 上方的这个位置加载?有任何想法吗?

4

3 回答 3

0

尝试

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

还要确保您的 IE 浏览器模式未设置为Quirks. 按 F12 或转到设置>F12 开发人员选项。

Document Mode: Standards

编辑

带有 shiv 的简单 HTML5 页面

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
    <style type="text/css">
body{margin:0 auto;}menu{background-color:gray;text-align:center;margin:0;}header{background-color:silver;text-align:center;margin:0;}article{text-align:center;background-color:#A9A9A9;margin:0;}footer{text-align:center;background-color:silver;margin:0;}section{background-color:#ADD8E6;text-align:center;margin:auto;}    </style>
</head>
<body>
    <menu>&lt;menu&gt;</menu>
    <header>&lt;header&gt;</header>
    <article>&lt;article&gt;</article>
    <section>&lt;section&gt;</section>
    <footer>&lt;footer&gt;</footer>
</body>
</html>

Allow Blocked Content如果弹出消息,还要确保在 IE 中。那是 shiv 脚本。

于 2013-10-09T18:28:28.437 回答
0

来自HTML5 Shiv 自述文件

将 HTML5 shiv 包含在页面的条件注释中和任何样式表之后。

于 2013-10-09T20:32:08.740 回答
0

所以我得到了这个工作,但我不完全确定我改变了什么来触发修复。我的最终代码,但是它是这样的:

<!-- Pano-Framework Requirements Start //-->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="http://staging.new.informationweek.com/styles/pano-framework.css">
<script src="/script/respond.min.js"></script>
<!-- Pano-Framework Requirements End //-->

我看到的最大区别是我的标签拉入了我的样式表。

我感谢大家的帮助!

于 2013-10-10T15:31:29.890 回答