全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

微信小程序开发的四十个技术窍门总结(推荐)

前言

微信“小程序”正式上线一周时间,相关话题持续升温。支付宝开发“小程序”的消息也随即曝出,互联网巨头们摩拳擦掌,不少网友调侃说,这势头感觉要挑战现有的“APP帝国”了。那么,面对如此炙手可热的小程序,WeX5移动开发云也没有闲着,经过全网搜索,为大家筛选出一条小程序开发者的必读文章,内容涵盖小程序开发实战需要注意的40个技术点,供大家参考!

Q:为什么脚本内不能使用window等对象

A:页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件

Q:为什么 zepto/jquery 无法使用

A:zepto/jquery 会使用到window对象和document对象,所以无法使用。

Q:wx.navigateTo无法打开页面

A:一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo

Q:样式表不支持级联选择器

A:WXSS支持以.开始的类选择器。

Q:本地资源无法通过 css 获取

A:background-image:可以使用网络图片,或者 base64,或者使用<image/>标签

Q:如何修改窗口的背景色

A:使用 page 标签选择器,可以修改顶层节点的样式

page { 
  display: block; 
  min-height: 100%; 
  background-color: red;
}

Q:为什么上传不成功

A:为了提升体验流畅度,编译后的代码包大小需小于 1MB ,大于 1MB 的代码包将上传失败。

Q:HTTPS 请求不成功

A:tls 仅支持 1.2 及以上版本

Q:网络请求的 referer

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

Q:不能直接操作 Page.data

A:避免在直接对 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
 }
})

Q:微信小程序支持fetch或者promise吗?

A:promise工具目前不支持,fetch 客户端不支持 工具下个版本保持统一。

Q:touchmove滑动事件里面的currentTarget. id值不变动。

A:ouchmove / touchend 事件的 target / currentTarget 会永远是 touchstart 时的 target / currentTarget 。

Q:wx.request的POST方法的参数传输服务器接收不到的bug。

A:wx.request post 的 content-type 默认为 ‘application/json '

如果服务器没有用到 json 解释的话,可以把 content-type 设置回 urlencoded

wx.request({
....
method: "POST",
header: {
"content-type": "application/x-www-form-urlencoded"
},
...
})

Q:wx.uploadFile在手机上返回http码403。

A:安卓的微信升级到6.5.2及其以上版本。

Q:小程序SVG支持吗?

A:image的src放远程svg可以,background-image里也可以。

Q:wx.request返回statusCode两端类型不一致。

A:确实有这个问题,稍后的版本将会修复。

Q:关于组件的动态生成与销毁?

A:不支持动态生成组件,但可以用 wx:for 去渲染多个。

Q:小程序支持热更吗?

A:不支持开发者自行更替。

Q:一些接口的回调IOS和Android不一致,例如支付接口,用户取消支付后,ios只回调complete方法,android则回调fail方法,官方文档也没有任何回调说明,造成开发很困难;类似的还有图片选择接口,分享接口等等。

A:支付接口,用户取消支付后,ios只回调complete方法,android则回调fail方法,问题已记录,多谢反馈。

Q:如果icon已经在服务器上了,想用直接访问网址的方法加载图片进来这样可以吗?

A:不能。

Q:ipad不能使用小程序?

A:暂时不支持ipad打开小程序。

Q:小程序音频,视频播放器问题 。1、能够只隐藏进度条跟时间吗?2、现在iOS平台上的时间显示是0:00,但是android上会显示错误码,能够通过什么设置修改吗?

A:1:下个版本会修改这里的交互,不显示进度条和时间。2:6.5.3 版本已修复此问题。

Q:拍照窗口可以加浮层吗?

A:暂时不支持。

Q:开发者工具经常报jsEngineScriptError错误,会导致页面白屏。

A:移步下载最新 0.12.130400 版本的开发工具试试

Q:开发者工具里面,SPA页面,更改title无效。

A:wx.setNavigationBarTitle可以通过 API 改变导航栏标题。

Q:请问小程序页内支持长按保存图片或分享图片吗?

A:目前没有这个功能。

Q:关于swiper中的current问题。如果在新的版本中,直接设current,会产生的效果是:无论从哪个swiper元素点击进去,都会显示swiper第一个子元素的值。

A:目前swiper在处理swiper-item动态变化的情况时有一些bug,会很快修复的。

Q:小程序能引用自己服务器上的wxss和js文件吗?

A:不能,无法执行远程代码。

Q:苹果7,提示内部错误,内存占用过多。

A:页面做的预加载,列表中有图片,图片渲染的太多了,解决办法就是不当屏展示的图片,不让它渲染。

Q:小程序体验者安卓卡在加载页面进不去,IOS可以进去。

A:这是android微信客户端旧版本的bug, 请下载最新版本的 6.5.3 客户端。

Q:请问目前微信小程序支持蓝牙吗?

A:目前不支持。

Q:分享功能真机没有效果?

A:这是android微信客户端旧版本的bug, 请下载最新版本的 6.5.3 客户端。

Q:强制使用https,开发和测试环境下怎么联调和测试?

A:「微信web开发者工具」->「项目」->「开发环境不校验请求域名及TLS版本」。

Q:wx.showToast()方法无效。

调用wx.request请求网络然后在

complete: function (res) {
 
// complete
wx.hideToast();
}

在成功方法里面如果要进行showToast的时候感觉无效,并没有弹出提示框。

A:success 回调调用是在 complete 之前的,如果在 success showToast,下一步 complete hideToast 就会被冲掉 showToast

Q:picker 组件中的文字大小是否支持修改?

A:不支持修改。

Q:tabBar的图片在android和ios上面大小差异太大。

A:这是android微信客户端旧版本的bug, 请下载最新版本的 6.5.3 客户端

Q:tabbar 页面返回问题。非首页的tabbar 页面 点击左上角返回箭头时如何返回到小程序首页? 现在是直接退出小程序了

A:创建新页面时用 navigateTo 才会新建新页面,同时保留旧页面,如果用 redirectTo 是在当前页面内跳转。

Q:问下 wx.request() 怎么设置成同步。

A:reqeust是发起网络请求。没有同步接口。

Q:最新mac版工具不可用,进来就出现获取appservice 失败。

A:工具设置中选择直接链接网络 。或者 系统中的代理软件设置工具直接链接网络。

Q:真机 view overflow-y下滑会很卡。

A:父层需要 position:relative; 加了之后就不卡了。

总结

以上就是干货分享的主要内容,需要提醒的是,小程序本身还在不断调整、修改、完善之中,对陆续发现的BUG,也需要进行相应的修复。关心小程序开发的朋友请关注我们,获取最新的小程序开发干货。希望本文的内容对大家的学习或者工作能带来一定的帮助。


# 小程序开发  # 微信小程序开发  # 小程序开发技术  # 微信小程序 开发工具快捷键整理  # 详解微信小程序开发(项目从零开始)  # 微信小程序开发之入门实例教程篇  # 微信小程序云开发详细教程  # 使用微信小程序开发前端【快速入门】  # 微信小程序开发经验总结(推荐)  # 微信小程序开发入门基础教程  # 微信小程序开发常用功能点与使用方法总结  # 不支持  # 回调  # 客户端  # 这是  # 是在  # 请下载  # 最新版本  # 程序开发  # 旧版本  # 加载  # 选择器  # 首页  # 新页面  # 下个  # 不成功  # 的是  # 是一个  # 进度条  # 上传  # 就会 


相关文章: 网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  c# await 一个已经完成的Task会发生什么  建站之星云端配置指南:模板选择与SEO优化一键生成  如何在阿里云域名上完成建站全流程?  linux top下的 minerd 木马清除方法  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在搬瓦工VPS快速搭建网站?  如何用虚拟主机快速搭建网站?详细步骤解析  建站VPS选购需注意哪些关键参数?  广州商城建站系统开发成本与周期如何控制?  购物网站制作公司有哪些,哪个购物网站比较好?  孙琪峥织梦建站教程如何优化数据库安全?  再谈Python中的字符串与字符编码(推荐)  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在宝塔面板中修改默认建站目录?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  宿州网站制作公司兴策,安徽省低保查询网站?  无锡营销型网站制作公司,无锡网选车牌流程?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  如何在服务器上三步完成建站并提升流量?  如何快速搭建高效可靠的建站解决方案?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  b2c电商网站制作流程,b2c水平综合的电商平台?  建站主机选择指南:服务器配置与SEO优化实战技巧  建站主机CVM配置优化、SEO策略与性能提升指南  深圳网站制作案例,网页的相关名词有哪些?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  建站之星北京办公室:智能建站系统与小程序生成方案解析  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  建站之星×万网:智能建站系统+自助建站平台一键生成  建站之星后台管理系统如何操作?  Android滚轮选择时间控件使用详解  建站之星免费模板:自助建站系统与智能响应式一键生成  建站主机选哪种环境更利于SEO优化?  建站主机与服务器功能差异如何区分?  如何用PHP快速搭建CMS系统?  如何在万网开始建站?分步指南解析  宝塔面板如何快速创建新站点?  如何在七牛云存储上搭建网站并设置自定义域名?  如何快速搭建高效WAP手机网站吸引移动用户?  如何在IIS中配置站点IP、端口及主机头?  如何用5美元大硬盘VPS安全高效搭建个人网站?  建站之星如何快速更换网站模板?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  北京的网站制作公司有哪些,哪个视频网站最好?  如何用腾讯建站主机快速创建免费网站?  建站之星如何实现网站加密操作?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  存储型VPS适合搭建中小型网站吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。