升級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靠前。

最后測試各個瀏覽器都正常了 :)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容