web-dev-qa-db-fra.com

Erreur de syntaxe SweetAlert2 sur Internet Explorer 11

J'utilise exactement le code de SweetAlert2 page d'exemples :

swal({
  title: 'Are you sure?',
  text: "You won't be able to revert this!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, delete it!'
}).then((result) => {
  if (result.value) {
    swal(
      'Deleted!',
      'Your file has been deleted.',
      'success'
    )
  }
})

Fonctionne correctement sur Firefox et Chrome, mais Internet Explorer affiche SCRIPT1002: Syntax Error et n'exécute pas le script ... IE signale cette partie comme une erreur de syntaxe:

}).then((result) => {

Merci pour toute aide

5
Pedro Antônio

(result) => {} est une fonction de flèche complètement non prise en charge dans IE. Pour résoudre ce problème, vous devrez utiliser une fonction anonyme traditionnelle:

swal({
  // options...
}).then(function(result) {
  if (result.value) {
    swal('Deleted!', 'Your file has been deleted.', 'success');
  }
});
9
Rory McCrossan

IE11 ne prend pas en charge certaines fonctionnalités modernes de l'ES6 telles que les fonctions de flèche et les promesses .

Pour résoudre ce problème, vous devez soit compiler votre code avec Babel, soit utiliser un Promise-polyfill avec la syntaxe traditionnelle function:

swal(...)
  .then(function(result) {
    console.log(result.value)
  })

En savoir plus sur l'utilisation de SweetAlert2: https://github.com/sweetalert2/sweetalert2#usage

3
Limon Monte

Result.value ne fonctionne pas de mon côté. Voici mon code: 

.then(function (result) {
        if (result) {
           //Implement Ajax here....
           swal({
                        title: "Error!",
                        text: " Data was used and can't be deleted.",
                        icon: "error",
                        button: "Ok!",
                    });
         }
 });
1

En plus des fonctions anonymes, pour que swal soit pleinement fonctionnel dans IE, il est nécessaire d’ajouter sa balise script et script

<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.js"></script>

Comme on le voit dans https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support

0
Pedro Antônio