web-dev-qa-db-ja.com

IE11 JQueryエラー?

Firefoxで正常に動作するコードがあり、ChromeがIE 11.ではありません。次のエラーメッセージが表示されます。

   1) SCRIPT5009: '$' is undefined
    For this line of code:
    $.extend({ 
      )} 

   2)SCRIPT5009: 'jQuery' is undefined
         // Browser globals
            factory( jQuery );

   3)SCRIPT1010: Expected identifier
        .catch( function( error ) {
            jQuery.readyException( error );
        } );

すべてが含まれるヘッダータグを次に示します。

<head>
    <script type="text/javascript" src="jquery/jquery-3.1.1.js"></script>
    <script type="text/javascript" src="jquery/jquery-ui.js"></script>
    <script type="text/javascript" src="jquery/JQuery_alert.js"></script>
    <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css">
    <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.structure.css">
    <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.theme.css">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

開発ツールをIEで開き、右上隅で[ドキュメント]モードをクリックしてEdgeに切り替えると、上記のすべてのインクルードを含むコードが正常に機能することがわかりました。 Edgeとは何ですか?IEを使用している他の誰かがページを実行するのに問題がないことを確認する方法はありますか?それを修正する方法はありますか?事前に感謝します。

9
espresso_coffee

互換性ビュー

Internet Explorerを互換表示で実行すると、最新バージョンのjQueryと互換性のないIE8などの古いバージョンをエミュレートします(jQueryの1.xバージョンのみが古いバージョンのIEと互換性があります)。

互換表示が問題かどうかを確認する

Internet ExplorerでF12キーを押すと、開発者ツールが表示されます。ツールバーの右上付近に、Edge、10、9、8、7、5を切り替えることができるドロップダウンがあります。これを切り替えると、新しいドキュメントモードを使用してページが更新されます。 Edgeに切り替えてもjQueryエラーが表示される場合は、問題として互換性ビューを除外できます。

ページが互換表示で表示されないようにする

Internet Explorerのドキュメントモードの指定については、こちらのドキュメントを確認してください。 https://msdn.Microsoft.com/en-US/library/jj676915.aspx

次のように<meta>タグをHTMLのヘッダー(ヘッダー内の最初のタグである必要があります)に挿入することにより、IE11を強制的にエッジモードで表示することもできます。

<html>
<head>
    <meta http-equiv="x-ua-compatible" content="IE=Edge">
...

これは、Internet Explorerにそのドキュメントモードを明示的に使用するように指示します。

26
Thriggle