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

2018/4/4 17:36:46 2680 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(高生)
在线留言:
微信扫码,关注我们
相关文章
  • 微信小程序商城与微信商城的区别

    随着微信小程序的问世,不久后又有微信小程序商城问世,不过很多人就会存在疑问,微信本身已经有一个微商城存在,那么还有开发微信小程序商城的必要吗?

  • 微信小程序开发在电商行业中走红的原因分析

    微信小程序自面世以来,很多企业商家常将其用于电子商务中。而用来做资讯推广平台使用的相对比较少,为什么

  • 微信小程序注申请册时的名称设置规范

    微信小程序面世即将到一年之期,这一年之中,微信官方对小程序的建设与开发也在没有停过,面对不断完善的微信小程序,也越来越多的人愿意去

  • 9.8亿流量触手可及,用微信小程序打造生态发展闭

    微信官方第三季度财政报表显示,微信和WeChat合并起来共有9.8亿月活用户,这个数据不仅代表着微信和WeChat拥有着强大的用户流量,也体现出这个平台背后隐藏的商机。因为用户聚集

  • 提高微信小程序受欢迎程度的几个开发技巧

    当微信小程序开发的方案策划、功能选择等一切尘埃落定,要提高小程序的受欢迎程度,可从一些开发技巧去入手,以升级用户体验来获得用户的喜爱

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

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

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