web-dev-qa-db-fra.com

Le fichier JS ne se charge pas sur IE, fonctionne sur Chrome dans Joomla Seblod

J'ai ajouté JS en tant que champ sur Joomla Seblod, qui appelle un fichier JS dans mon système de fichiers my_profile.js comme suit-

jQuery.getScript("/components/com_msp/js/my_profile.js")
    .done(function(script, textStatus) {
    console.log('inside success in seblod');
    main();
}).fail(function( jqxhr, settings, exception ) {
    console.log('JS failed in seblod..');
    console.log(JSON.stringify(jqxhr));
    console.log( "Error:" + settings + ' : ' + exception );
});

Sur Chrome, le JS est appelé correctement et tout le code fonctionne (j'obtiens également du succès dans le message seblod sur la console Inspect), mais sur IE je l'obtiens sur la console-

The code on this page disabled back and forward caching.
JS failed in seblod..
Error:parsererror : SyntaxError: Expected identifier

Le code à l'intérieur des fichiers et tout est le même. Jusqu'à hier, j'ai pu voir les changements sur IE ainsi.

1
manishk

parsererror : SyntaxError: Expected identifier Était en fait à l'origine de problèmes avec le code JS sur IE. J'ai dû faire un débogage ligne par ligne et j'ai finalement trouvé 2 instances dans le code qui causait cela-

  1. J'utilisais cela pour parcourir un objet - for(const [serial, dates] of Object.entries(data)) {. J'ai dû remplacer cela par une boucle plus simple pour ... dans comme - for (var serial in data){ if (data.hasOwnProperty(serial)) {

  2. J'utilise sweetalert dans mon script et une .then((result) => { à l'intérieur, et sur certaines recherches, j'ai trouvé que IE ne prend pas la flèche Donc, au lieu de cela, j'ai utilisé un queue sur les actions sweetalert et j'ai essentiellement fait les mêmes étapes mais sans l'opérateur flèche.

1
manishk