web-dev-qa-db-fra.com

Erreur IE11 JQuery?

J'ai du code qui fonctionne bien dans Firefox et Chrome mais pas dans IE 11. Je reçois les prochains messages d'erreur:

   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 );
        } );

Voici ma balise d'en-tête avec tous les inclus:

<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>

J'ai trouvé que si j'ouvre mes outils de développement dans IE puis dans le coin supérieur droit, cliquez sur le mode Document et basculer vers Edge mon code avec toutes les inclusions ci-dessus fonctionne bien. Donc ma question est Qu'est-ce qu'Edge? Comment puis-je m'assurer que quelqu'un d'autre utilisant IE n'aura pas de problèmes pour exécuter ma page? Y a-t-il un moyen de résoudre ce problème? Merci d'avance.

9
espresso_coffee

Affichage de compatibilité

Lorsque Internet Explorer s'exécute dans la vue de compatibilité, il émule des versions plus anciennes telles qu'IE8 qui est incompatible avec la dernière version de jQuery (seules les versions 1.x de jQuery sont compatibles avec les anciennes versions d'IE).

Vérifier si la vue de compatibilité est le problème

Lorsque vous appuyez sur F12 dans Internet Explorer, il devrait afficher les outils de développement. Dans le coin supérieur droit de la barre d'outils, vous devriez trouver une liste déroulante qui vous permet de basculer entre Edge, 10, 9, 8, 7 et 5. En la commutant, la page sera actualisée à l'aide du nouveau mode de document. Si vous passez à Edge et que vous obtenez toujours les erreurs jQuery, vous pouvez exclure la vue de compatibilité comme problème.

Vérification que la page ne sera pas affichée dans la vue de compatibilité

Consultez la documentation ici concernant la spécification des modes de document pour Internet Explorer: https://msdn.Microsoft.com/en-US/library/jj676915.aspx

Vous pouvez également essayer de forcer IE11 à s'afficher en mode Edge en insérant un <meta> balise dans l'en-tête de votre code HTML (ce devrait être la première balise dans l'en-tête) comme ceci:

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

Cela indique à Internet Explorer d'utiliser explicitement ce mode de document.

26
Thriggle