那些微信小程序开发踩过的坑
小程序页面栈最多十层 问题:小程序内超过十层路由,你会发现wx.navigateTo跳转不到下一个页面。这是因为使用wx.navigateTo跳转会把当前页面保存到页面栈中,而小程序页面栈最多十层。 解决:超过十层使用redirectTo(重定向)操作 或者参考https://developers.weixin.qq.com/community/develop/article/doc/000a08e12185187bd5cebf3f651013 IOS使用New Date()报错IOS 的 Date 构造函数 不支持2018-04-26这种格式的日期,必须转换为2018/04/26这种格式,可以使用 replace(/-/g, '/')处理image组件使用webp图片时,IOS需要设置webp属性.Android手机在onShow内调用 wx.showModal ,如果不关闭弹窗(直接点击右上角退出小程序),弹窗不会销毁,再次进入页面触发onShow时会出现两次弹窗,IOS正常小程序中使用 web-view打开pdf , IOS 可以正常打开,Android 打开为空白 解决:使用wx.downloadFile和wx.openDocument 在手机相册中选择完图片后直接跳转会出现闪回的现象 原因:在选择完图片后,会重新执行一遍page的onShow生命周期 解决:在选择完图片后,做一个sleep延时1秒,再进行跳转 textarea 层级问题 问题:textarea的placeholder会显示在弹窗的层级之上 解决:使用wx:if 判断当没有值的时候用view代替textarea 最好封装为组件 或者 弹出层使用cover-view组件,而不是view,覆盖住所有原生组件。 小程序的 web-view 中页面跳转后,点击 Android 手机上的物理返回按钮会返回前一个页面。而点击左上角的返回按钮,会直接关闭整个 web-view。有关 web-view 中有背景音乐,后台后无法关闭的问题 https://developers.weixin.qq.com/community/develop/doc/c75139c842a40c67cade23d3f66e7992 var hiddenProperty = 'hidden' in document ? 'hidden' :
'webkitHidden' in document ? 'webkitHidden' :
'mozHidden' in document ? 'mozHidden' :
null;
if (hiddenProperty) {
var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
var onVisibilityChange = function() {
if (document[hiddenProperty]) {
!MpMovie.video.paused && MpMovie.video.pause();
}
};
document.addEventListener(visibilityChangeEvent, onVisibilityChange);