1

我希望在我失去理智之前有人可以帮助我.....我有一个 html5 网站并包含 html5shiv,但是 - 在 IE8 中 - 当我这样做时,它与灯箱冲突并且图像不显示。谢谢。

这是我的

<!DOCTYPE html>
<head>
<!-- META DATA -->
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<meta name="keywords" content="....." />
<meta name="description" content="....." />


<link href='http://fonts.googleapis.com/css?family=Neucha' rel='stylesheet' type='text/css'/>
<link rel="stylesheet" type="text/css" href="styles/main.css"/>
<link href="styles/lightbox.css" rel="stylesheet" />

<!--[if lt IE 9]>
<script src="dist/html5shiv.js">

</script>
<![endif]-->

<script src="scripts/jquery-1.7.2.min.js"></script>
<script src="scripts/lightbox.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

<script src="scripts/backarrow.js"></script>
<script src="scripts/smoothscroll.js"></script>

<title>.......</title>
</head>
4

1 回答 1

2

我认为问题不在于 html5shiv - 问题在于您包含两个单独的 jQuery 副本.... v 1.7.1,然后再往下两行包含 v1.4.3。

这两个 jQuery 版本肯定会相互冲突,并且几乎肯定会破坏您的网站,但它很容易在不同浏览器之间工作,并且您看到的确切效果将取决于首先加载哪个版本。

如果 html5shiv 有效果,那是因为它被包含在两个 jquery 版本之前。这将在加载时将浏览器和您的服务器捆绑一会儿,这可能会导致它影响 jquery 的两个副本加载的顺序。(这很可能是因为两个 jQuery 副本来自不同的来源)

解决方案:完全删除 jQuery 1.4.3 行,并坚持使用较新版本的 jQuery。(当您使用它时,这可能是您将其他 jQuery 包括升级到 1.8 或 1.9 的机会)

于 2013-03-25T12:09:24.217 回答