【问题标题】:SweetAlert2 syntax error on Internet Explorer 11Internet Explorer 11 上的 SweetAlert2 语法错误
【发布时间】:2018-04-18 10:02:19
【问题描述】:

我正在使用SweetAlert2 examples page的确切代码:

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

在 Firefox 和 Chrome 上运行良好,但 Internet Explorer 显示 SCRIPT1002: Syntax Error 并且不运行脚本...IE 将此部分标记为语法错误:

}).then((result) => {

感谢您的帮助

【问题讨论】:

    标签: javascript jquery internet-explorer-11 sweetalert2


    【解决方案1】:

    (result) => {} 是 IE 完全不支持的箭头函数。要解决此问题,您必须使用传统的匿名函数:

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

    【讨论】:

    • 哦真的... IE 再次让我感到惊讶哈哈... 工作正常,谢谢 =D
    • 没问题,很高兴为您提供帮助
    • 搜索了一个小时,还以为是promise问题。如此简单的解决方法,谢谢!
    • IE又做了一次!
    【解决方案2】:

    IE11 不支持一些现代 ES6 功能,例如 arrow functionspromises

    要修复它,您应该使用 Babel 编译代码,或者使用带有传统 function 语法的 Promise-polyfill

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

    阅读有关 SweetAlert2 使用的更多信息:https://github.com/sweetalert2/sweetalert2#usage

    【讨论】:

      【解决方案3】:

      除了匿名函数,要在 IE 中充分发挥 swal 的功能,还需要添加和脚本标签

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

      https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support中所见

      【讨论】:

        【解决方案4】:

        要让 showLoading() 在 IE11 中工作,您需要使用 promise shim 和一个匿名函数...

        Swal.fire({
            title: "Saving",
            text: "Please wait...",
            onBeforeOpen: function() {
                Swal.showLoading();
            }
        });
        

        【讨论】:

          猜你喜欢
          • 2018-08-10
          • 1970-01-01
          • 2020-05-29
          • 2018-11-29
          • 2022-06-22
          • 2015-06-14
          • 1970-01-01
          • 1970-01-01
          • 2013-12-29
          相关资源
          最近更新 更多