专栏首页微信小程序开发微信小程序开发常见问题(七)

微信小程序开发常见问题(七)

知晓程序员,专注微信小程序开发的程序员!

一、判断小程序版本号

小程序的API是不断更新的,你可能使用某个API时,文档里会说明,此API在1.x.x版本开始支持,需要自己做兼容处理。

如果你使用小程序版本号做兼容,就必须了解小程序的基础库版本号规则,在这里介绍一下。

小程序基础库版本号使用 semver 规范,格式为 Major.Minor.Patch,Major、Minor、Patch 均为整数,1.9.901、2.44.322、10.32.44 都是符合 semver 风格的版本号

以下是官方提供的兼容代码:

二、设置仅发起者可转发

有些场景,需要仅发起者可转发,参与者不能转发。比如老师上课点名签到,老师如果把签到小程序分享到群内,只希望现场的同学可以正常签到,即使其他同学想分享,也没有权限。

方法一:禁止显示分享按钮

小程序中有个API,wx.hideShareMenu,如下:

在page.js中,正常写入onShareAppMessage,然后判断用户是否为发起者,如果是发起者,调用wx.showShareMenu,如果不是发起者,调用wx.hideShareMenu。

方法二:单独做一个分享后的页面

这个办法比较low,但也能实现。思路是在onShareAppMessage里面的写入一个默认path,打开之后就是一个提示界面。如果是发起者,就把path修改成正常的路径~

三、swiper禁止手动滑动

最简单的方式,在swiper上面加一个透明的蒙层~

四、使用switchTab跳转后页面不刷新的问题

方法一:通过getCurrentPages获取获取当前的页面栈,调用对应的方法

switchTab成功跳转后调用success,此时可以拿到跳转后页面的page对象,从而调用页面onLoad方法重载页面;

方法二:把还tab的页面,代码逻辑放在onShow里面

五、e.target和e.currentTarget的区别

简单的说,e.currentTarge是指注册了事件监听器的对象,e.target是指对象里的子对象,实际触发这个事件的对象。

小程序开发过程中,如果通过event未获取到值时,或许是你自己用错了。

六、图片设置为圆角,会快速从方形闪烁一下

解决方法:给父元素设置圆角,或者给图片添加透明边框

七、input中使用手写输入法的坑

之前总有“报名工具”的小程序用户反馈,说是报名内容都输入完整了,但是保存不完整。

经排查,发现所有使用手写输入法的用户,都会遇到这现象。排查代码发现绑定的input事件,用户如果不点击手写输入法上的确认键,就不会触发bindinput。

这种情况下,有两种解决方式:

1、改用event.detail.value的形式来获取form表单数据;

2、再添加一个bindblur事件,保证事件能够正常执行;

因报名工具小程序中,有用户自定义字段,所以不确定用户会添加多少个字段,使用event获取的话,需要给每个input添加一个name属性,相对比较费劲,我改用了第二种方案。

八、IOS下用户授权后,头像和昵称显示问题

这个问题其实是图片src是一个data中的变量,然后这个变量又发生了变化。但是在IOS设备上,就是没办法显示更改后的图片。(或者编辑图文投票时,也会有这现象)

解决办法:通过wx:if和wx:else判断,展示不同的image组件

九、一键退出(隐藏)小程序

首先要说,这个需求不合理,右上角有退出按钮,但既然有同学问这问题,我也自己折腾了一下,基本可以实现一键退出。

先在每个page中添加隐藏page的方法:

有退出button的页面,对应的JS添加方法:

虽然可以实现,但也很low,其实就是隐藏了所有的page而已~

往期回顾

1.零基础入门小程序 & 实战经验分享

2.小程序“功能直达”内测,你读懂了什么?

3.谈谈小程序中返回上一页面逻辑

4.小程序如何区分转发好友和转发群

5.微信小程序开发常见问题(六)

本文分享自微信公众号 - 知晓程序员(bainaweb),作者:连胜

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小程序“功能直达”内测,你读懂了什么?

    小程序“功能直达”功能正式开始内测。部分小程序已收到内测邀请。 ? 开启这个功能后用户可在“发现-小程序”中通过搜索找到小程序提供的功能。 小程序将获得更多用户...

    连胜
  • 零基础入门小程序 &实战经验分享

    讲师介绍:连胜老师曾经就职于点心移动 & 百度,折腾小程序也有段时间了,参与开发的“小小签到”小程序,在2017年荣获阿拉丁神灯奖。我公司开发了多个工具类小程序...

    连胜
  • 开发小程序被问到最频繁的问题(上)

    连胜老师在自己的微信小程序开发群里,也经常帮人解答问题,在这里整理一下最频繁被问到的小程序问题。希望对那些还不了解小程序的同学有帮助,同时也欢迎各位小程序大牛指...

    连胜
  • 程序员如何找到好工作?这款小程序帮你忙

    知晓君
  • 微信小程序更新:增加拍照摄像等多媒体功能

    微信公众号发文称,小程序新增录音、拍照摄像、视频播放等功能,大幅增加多媒体能力。同时小程序还进一步完善访客来源信息,让开发者有迹可循。 微信官方称小程序新增加的...

    企鹅号小编
  • Jerry Wang的SAP工作日志 - 2016年1月

    perform build_lc_user_stat 防窥膜101556973 Your ticket has been successfully sent...

    Jerry Wang
  • Go GraphQL 教程

    一般的 Web 开发都是使用 RESTful 风格进行API的开发,这种 RESTful 风格的 API 开发的一般流程是:

    谢伟
  • 外观模式(javascript版)6

    核心是如去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。 像工厂模式把

    用户7873631
  • 看到一个运动类小程序,有感而发

    话说,花叔所在的团队里有个小伙子叫小苏,这家伙在小程序出现前,就一直在研究小程序,“王者荣耀赛事小程序”的最初预研demo就是这家伙做的,这家伙对小程序的API...

    花叔
  • SpringBoot常用注解详解

    所有的配置都是写在appliaction.properties或application.yml文件里,那么如果不想写在这里面怎么处理呢使用@PropertySo...

    地道小菜鸟

扫码关注云+社区

领取腾讯云代金券