小程序开发窍门

微信的”小程序”正式上线一周时间, 相关的话题持续升温. 与此同时, 支付宝开发的”小程序”也随即曝出, 互联网巨头们争先恐后的抢占市场, 闹得现有的”APP”岌岌可危的样子. 针对如此炙手可热的小程序, 经过各种途径的深入了解, 总结出来的小程序开发40个注意点, 供大家参考!

1.为什么 js 脚本中不能使用 window 等对象

由于小程序的页面脚本逻辑是在 jscore 中运行, jscore是一个没有对象窗口的环境, 所以不能在脚本中使用 window, 也无法在脚本中进行文档操作. 既没有 window对象和 document对象, 这也是 zepto/jq 无法使用的原因.
下面插播: 什么是 jscore
JavaScriptCore是苹果 Safari浏览器的 JavaScript引擎,后来苹果开放了这个 JavaScriptCore框架, 该框架让 Objective-C和JavaScript代码直接的交互变得更加的简单方便; JavaScriptCore是 webkit的一个重要组成部分,主要是对JS进行解析和提供执行环境, 而在 JavaScriptCore中, JSContext就为其提供着运行环境.

2.wx.navigateTo无法打开页面

微信限制一个小程序同层级下最多同时打开5个页面, 即同一个门最多只能爬到5楼, 超过就无法正常打开了, 尽量避免或者使用销毁式跳转,即 wx.redirectTo

3.为什么上传不成功

微信为了提升体验流畅度, 编译后的代码包大小需要小于1MB, 大于1MB的代码包上传失败

4.微信小程序对ES6的支持程度

promise工具目前尚不支持,fetch客户端不支持

5.wx.request 的POST方法传参数服务器接收不到数据

wx.request 的 content-type默认为“‘application/json”, 如果服务器没有用到 JSON 解析的话, 可以把 content-type设置为 unlencoded. 即:

wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {
     x: ''
  },
  header: {
      'content-type': 'application/x-www-form-urlencoded'
  },
  success: function(res) {
    console.log(res.data)
  }
})

x-www-form-urlencoded的编码方式把数据转换成一个字串(name1=value1&name2=value2…)

6.小程序不支持热更新

微信不支持开发者自行更替,

7.iPad暂时不支持打开小程序
8.小程序内不支持长按保存图片或者分享图片
9.手机提示内部错误,内存占用过多

小程序页面的预加载, 列表中图片渲染的太多. 尽量避免或者使用懒加载

10. picker组件中的文字大小不支持修改
11. IOS和安卓在一些接口的回调不一致, 例如支付接口, 用户取消支付后, IOS回调 complete方法, 安卓回调 fail方法 ,官方文档也没有任何这方面的说明, 类似的还有图片选择接口等.

总结: 小程序作为新生产物, 其自身还有很多的问题, 官方也在不断的修改, 完善当中. 因此大家还是要持续关注官方文档的变化, 以及研究大神们的作品.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值