为了账号安全,请及时绑定邮箱和手机立即绑定

SweetAlert2在IE 11上不起作用,未定义Promise

SweetAlert2在IE 11上不起作用,未定义Promise

达令说 2021-04-09 17:19:19
我正在使用SweetAlert2并在IE 11上引发异常:此程序包需要一个承诺库,请包括一个垫片,以使其能够在这个浏览器中(参见: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)因为IE 11不支持Promises,所以需要手动添加。我像这样使用bluebird:const Promise = require('bluebird');const Swal = require('sweetalert2');Swal.fire(...)...但是,sweetalert的支票还是没有通过:..  if (typeof Promise === 'undefined') {    error('This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)');  }..如何解决?谢谢。
查看完整描述

2 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

您可以使用以下方法修复它:


window.Promise = require('bluebird');

这会将Promise加载为窗口的全局变量,而不是像使用那样加载文件const。


我不确定您的文件结构如何,但是如果您有一个加载所有依赖项的文件,则只需将上面的行添加到将在其他脚本之前调用的脚本即可。


例如:


// bootstrap.js

window.Promise = require('bluebird');

window.Swal = require('sweetalert2');


// app.js

require('./bootstrap');

Swal.fire(...);


查看完整回答
反对 回复 2021-04-22
  • 2 回答
  • 0 关注
  • 332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信