安卓6.0系统内的H5页面async await不支持问题
一个老项目PHP页面 嵌套 JQ HTML代码,主要功能是海报生成携带参数分享并且保存图片到相册
简单的描述下问题:
1、一个从莫名的插件 “旋转相册插件carousel” 的报错 :$(…).carousel is not a function;然后一个个排查 结果发现是async await这个ES6的写法影响到了,注释掉 就不会出现报错的问题,但是问题始终是要解决的
2、再思考之下以及参考一些文章结论得出,安卓6.0以下的版本并不支持ES6的语法,在这一刻茅塞顿开
解决问题:ES6转ES5
解决方法:
1、使用browser转换,引入文件:https://cdn.bootcdn.net/ajax/libs/jquery-browser/0.1.0/jquery.browser.min.js,然后修改script标签上的"text/javascript"替换成"text/babel",做到自动转换功能(为亲测但有效,因为我使用是第二种解决方法,也许是为了心安,但不适合大批量)
2、使用转换工具手动转换,Babel网址:https://babeljs.io/repl/#
3、并且要引入依赖文件runtime.js,可以npm安装后拷贝js文件出来,方法:npm install regenerator@0.13.1
在依赖node_modules文件夹下