评论

那些微信小程序开发踩过的坑

微信小程序开发踩坑记

  • 小程序页面栈最多十层

问题:小程序内超过十层路由,你会发现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);



最后一次编辑于  2022-11-07  
点赞 4
收藏
评论
登录 后发表内容