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 の 2 つの別々のコピーを含めていることです.... v 1.7.1 で、さらに 2 行下に v1.4.3 を含めます。

これら 2 つの jQuery バージョンは確実に衝突し、ほぼ確実にサイトを破壊しますが、ブラウザ間で動作が異なる可能性があり、正確な効果はどちらが最初にロードされたかによって異なります。

html5shiv が効果があるとすれば、それは 2 つの jquery バージョンの直前に含まれているためです。これにより、ロード中にブラウザーとサーバーが一時的に拘束され、jquery の 2 つのコピーがロードされる順序に影響を与える可能性があります。(これは、2 つの jQuery コピーが異なるソースから来ているため、特に可能性が高いです)

解決策: jQuery 1.4.3 の行を完全に削除し、新しいバージョンの jQuery をそのまま使用します。(そうしているうちに、他の jQuery インクルードを 1.8 または 1.9 にアップグレードする機会になるかもしれません)

于 2013-03-25T12:09:24.217 に答える