我在chrome Dev模擬器測試一切正常,安卓微信瀏覽器測試也正常,但是在UC瀏覽器測試發(fā)現(xiàn)彈層硬是調(diào)用不出來,剛開始我還以為寫的js有語法兼容問題,不過后來發(fā)現(xiàn)2.0版本是用TypeScript寫的,然后是用babel編譯成瀏覽器端的js......所以很多新特性API有些舊瀏覽器是不完全支持的。
我是直接克隆https://github.com/t4t5/sweetalert下來編譯丟到生產(chǎn)環(huán)境里的,作者已經(jīng)編譯后的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就是最終文件了)
還有簡單點(diǎn)的就是直接在頁面預(yù)先引入babel-polyfill和promise-polyfill
http://www.bootcdn.cn/babel-polyfill/ 版本選6.26.0
https://github.com/taylorhakes/promise-polyfill 復(fù)制promise.min.js
注意:這個兩個文件引入順序要比sweetalert.min.js靠前。
最后測試各個瀏覽器都正常了 :)