微信小程序的一些兼容性问题
记录一下在开发微信小程序的时候,遇到的一些兼容性~~(玄学)~~问题。
-
Skyline渲染模式
目前个人还不是很推荐使用Skyline。一方面有些组件没有适配,会导致奇怪的兼容性问题,难以调整。
本人在小程序中引入了Echarts图表,vant组件。然后取修改它们的样式。在Webview下,能保持和官方文档样式基本一致。但是在Skyline下,会出现各种神奇的问题。包括但不限于:
- 下拉菜单的出现动画消失,收起动画能保持。
- 单边
border的圆角无法绘制,只绘制直线,直接写border可以绘制完整圆角的边框。 dropdown-menu的伪元素(小箭头)看起来在真机上失效了,不显示。- 由于伪元素在真机上不显示,导致图标丢失等系列问题。
- 一些CSS样式根本不生效,vant组件内部的CSS变量无效。
值得注意的是,在微信开发者工具-详情内的选项“开启Skyline渲染模式”不一定有效。它可能只控制模拟器的渲染。也就可能出现和我一样的情况,即在模拟器上用Webview一切正常,在真机上乱七八糟,还不知道为什么。
真正返回Webview的办法,就是在
app.json里删掉下面的代码:1
2
3
4
5
6
7
8
9
10
11
12"renderer": "skyline",
"rendererOptions": {
"skyline": {
"defaultDisplayBlock": true,
"defaultContentBox": true,
"tagNameStyleIsolation": "legacy",
"disableABTest": true,
"sdkVersionBegin": "3.0.0",
"sdkVersionEnd": "15.255.255"
}
},
"componentFramework": "glass-easel",
持续更新中…(或许吧)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ElectroDragon's Blog!
