升级sweetAlert 到2.0后可能遇到某些问题

我在chrome Dev模拟器测试一切正常,安卓微信浏览器测试也正常,但是在UC浏览器测试发现弹层硬是调用不出来,刚开始我还以为写的js有语法兼容问题,不过后来发现2.0版本是用TypeScript写的,然后是用babel编译成浏览器端的js......所以很多新特性API有些旧浏览器是不完全支持的。

我是直接克隆https://github.com/t4t5/sweetalert下来编译丢到生产环境里的,作者已经编译后的sweetalert我没测试过。
解决办法:

  • 引入babel-polyfill
    npm install babel-polyfill --save
    然后在sweetalert/src/sweetalert.js 引入它 require("babel-polyfill");
  • 引入promise-polyfill
    https://github.com/taylorhakes/promise-polyfill
    然后在sweetalert/src/sweetalert.js 引入它 require("promise-polyfill");

最后重新编译:
npm run build (sweetalert/dist/sweetalert.min.js就是最终文件了)

还有简单点的就是直接在页面预先引入babel-polyfill和promise-polyfill
http://www.bootcdn.cn/babel-polyfill/ 版本选6.26.0

https://github.com/taylorhakes/promise-polyfill 复制promise.min.js

注意:这个两个文件引入顺序要比sweetalert.min.js靠前。

最后测试各个浏览器都正常了 :)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容