10

このプロジェクトに出くわしました: https://github.com/termi/ES5-DOM-SHIMは、古い IE を含むすべてのブラウザーでほぼ完全な ES5 サポートを提供します。

私はこれを純粋な JS プロジェクトで使用してきましたが、現在は(High Charts を使用する) プロジェクトに jquery/mootools/prototype を含める必要があります。

jquery スクリプトを含めるだけでも、この shim とともに IE8 でエラーがスローされます。両方の長所を活かすにはどうすればよいですか?

私の文書の頭は次のようになります。

<!--[if lte IE 8]>
<script src="/js/a.ie8.js"></script>
<![endif]-->
<script src="/js/a.js"></script>
<script src="/js/jquery.1.8.2.js"></script>
<script src="/js/main.js"></script>
4

3 に答える 3

1

正しい html 構造を使用していることを確認してください。

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <!--[if lte IE 8]>
    <script src="a.ie8.js"></script>
    <![endif]-->
    <script src="a.js"></script>
    <script src="jquery.1.8.2.js"></script>
    <script src="main.js"></script>
</head>
<body>

</body>

あなたの構造を(doctypeなしで)テストしたとき、IEでもエラーが発生しました。

于 2013-07-16T09:07:48.207 に答える
0

まず、HTML ドキュメントに doctype を追加してください。

<!DOCTYPE html>

HTML ファイルの最初の行にある必要があります。これにより、古い IE は標準に準拠したモードで動作し、いくつかの癖を回避できます。

一方、ES5-DOM-SHIM はやりすぎているようで、現在jQueryを使用したいと考えています。jQueryには、ブラウザー間での DOM の不一致を処理するメソッドが既に出荷されています。

jQuery のみを使用することをお勧めします。新しい HTML5 要素やカスタム要素をサポートする必要がある場合は、HTML5shiv (IE で HTML5 要素のサポートを追加するための事実上の方法) を使用することをお勧めします。本当に ES5/6 shim が必要な場合は、es5-shimes6- shim など、コミュニティからより幅広いサポートを受けているライブラリを使用してください。

于 2014-02-10T03:56:08.773 に答える