使用mpx框架制作小程序,最近有业务需要转h5,转换过程中遇到以下问题,记录下,有相关需求的小伙伴注意避坑。
限制:
- class不允许使用标签名
- 所有dom需要放入一个根节点
- onShareAppMessage分享钩子无法使用
- button的open-type无法使用
- wxs文件引用不可用
- 暂不支持vant,现只支持原生组件
出现的问题:
1.自定义顶栏失效,web不显示:
解决:pageLifetimes不支持,将show改为attached
2.setData报错:
解决:根据环境判断使用=赋值或setData,判断方法如下:
// 判断是否是web的方法:
if (!navigator) {
return false
}
var ua = navigator.userAgent.toLowerCase()
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
//ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)
console.log('在微信里')
} else {
console.log('非微信网页版!')
}
3. scroll-view 标签不滚动问题:
解决:标签内层不需再嵌套view, scroll-view本身不能用display flex(enable-flex="{{true}}"),内容一行排列用 white-space: nowrap;内部内容也不可以用flex可以布局,可以用display inline-block
4. 报错mpx.getStorageSync
5.样式覆盖问题
style 标签内加上scoped 小程序里不生效 但是web内可以生效