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

2018/4/4 17:36:46 2216 8
摘要: 微信小程序开发所遇到的问题,可能是基础性的,也可能是比较难以攻克的问题。对于开发新手来说,可能遇到的更多是基础性的问题。本文就总结些类似的问题及其解决方法或者答案

微信小程序开发所遇到的问题,可能是基础性的,也可能是比较难以攻克的问题。对于开发新手来说,可能遇到的更多是基础性的问题。本文就总结些类似的问题及其解决方法或者答案,供小程序开发者参考一下。

  1、为何脚本内不能使用window等对象?

  答:微信小程序页面的脚本逻辑的运行是在JsCore中,而JsCore是一个无窗口对象的环境,因此也不能在脚本中使用window跟操作组件。

  2、为何zepto/jquery 无法使用?

  答:上一个问题说过,微信小程序脚本内无法使用window等对象,而zepto/jquery 会使用到window对象和document对象,因此它也无法使用。

  3、为什么wx.navigateTo无法打开页面?怎么办?

  答:一个应用最多支持同时打开五个页面,达到5个之后再想打开页面,则wx.navigateTo无法支持新页面的正常打开。这种情况的解决方法是避免多层级的交互方式,或者使用wx.redirectTo。

4、样式表支持什么样的选择器?

答:微信小程序样式表是不支持级联选择器的,它支持的是以.开始的类选择器。

5、本地资源的获取方法是什么?

答:微信小程序的本地资源无法通过css获取,想要获取可以使用网络图片或者 base64,

又或者使用<image/>标签来实现资源的获取。

6、为什么小程序代码上传不成功?原因是什么。

答:微信小程序编译后的代码包需小于等于2M,若是超过2M则代码包将上传失败。

7、HTTPS 请求不成功的原因?

答:tls仅支持 1.2 及以上版本,才能请求成功。

8、网络请求的referer设置格式问题。

答:网络请求的 referer 是不可以设置的,它有固定的格式,其固定格式为https://servicewechat.com/{appid}/{version}/page-frame.html。其中 {appid} 为微信小程序的 appid,{version} 为小程序的版本号,版本号为0的话则表示为开发版。

  9、微信小程序能否支持fetch或promise?

  答:目前微信小程序不支持promise工具,而fetch只是客户端不支持,工具下各版本必须保持统一。

  10、touchmove滑动事件里面的currentTarget. id值不变动,是为什么?

答:ouchmove / touchend 事件的 target / currentTarget 会永远是 touchstart 时的 target / currentTarget,不会存在变动情况。

11、小程序支持SVG吗?

答:小程序目前支持image的src放远程svg,以及background-image里的svg。

12、组件的动态生成与销毁问题

答:小程序暂时不支持动态生成组件,但可以用 wx:for 去渲染多个组件。

13、一些接口的回调IOS和Android不一致怎么办?

答:目前存在的一些接口的回调IOS和Android不一致的情况。比如支付接口,在用户取消支付后,ios只回调complete方法,android则回调fail方法,而且官方开发文档对此没有任何回调说明,因此会造成开发难度增加。目前这个问题尚无明确解决方案,只能等待官方对问题进行反馈。

14、如何修改窗口的背景色?

答:修改窗口的背景色的方法是,使用page 标签选择器,来修改顶层节点的样式。

page {

  display: block;

  min-height: 100%;

  background-color: red;

}

15、为什么不能直接操作 Page.data?

答:在开发微信小程序时,应该要避免在直接对 Page.data 进行赋值修改,需要修改赋值时,请使用 Page.setData 进行操作,这样才能将数据同步到页面中进行渲染怎么获取用户输入。而能够获取用户输入的组件,则需要使用组件的属性bindchange将用户的输入内容同步到 AppService。示例代码如下。

<input id="myInput" bindchange="bindChange" /><checkbox id="myCheckbox" bindchange="bindChange" />

var inputContent = {}

  

Page({

 data: {

 inputContent: {}

 },

 bindChange: function(e) {

 inputContent[e.currentTarget.id] = e.detail.value

 }

})

16、wx.request的POST方法的参数传输,服务器接收不到的bug的原因,如何解决?

答:wx.request post的content-type会默认为“application/json“,如果服务器没用到json来解释的话,想解决这个问题,可以把content-type 设置回urlencoded。代码如下:

wx.request({

....

method: "POST",

header: {

"content-type": "application/x-www-form-urlencoded"

},

...

})


声明:文章"微信小程序开发常见问题(一)"为互诚科技—微信小程序开发公司的原创文章,转载请注明出处,谢谢合作!
标签:小程序商城
电话咨询:13119592416(高生)
在线留言:
微信扫码,关注我们
相关文章
  • 微信小程序商城开发能给传统企业带来什么

    在当下电商行业迅猛发展、互联网对人们生活的渗透更加深入的时候,传统行业所承受的生存压力就越来越大,迄需根据时代的发展与改变,做出自己的发展战略调整

  • 为什么要开发微信小程序?

    对于为什么要开发小程序这个问题,我们可以延伸出两个方向,一个是为什么微信官方要开发小程序这种类型公众账号,一个是为什么企业商城

  • 微信小程序商城的营销如何去打动人心,转化为消费力

    微信小程序的运营与获利,是一个投入到产出的转化过程。如何通过营销去打动消费者的心,让营销的对象

  • 小程序+美容业,有何优势

    过去美容业商家做推广一般以线下实体店送优惠券、派发传单、运用公众号编写文章这几种方式,现在小程序运用到越来越多的行业中

  • 如何在微信生态外促进小程序用户增长

    当一个微信小程序上线后,小程序运营者需要推广小程序,促进小程序用户增长,而在微信生态矩阵内的小程序引流已经说了许多

  • 定制开发微信小程序商城后的营销优势在哪体现

    微信小程序商城的开发,目前是有两种方式可以实现的,一种为定制开发,一种是使用免费源码或者商城模板去搭建。定制开发的版本的价值一般都比免费搭建、模板搭建

最新评论
网友:
发表评论
剩余200/最多输入200