微信小程序兼容性问题如何解决
2019-07-31 08:49:54 来源:沈阳小程序开发 作者:沈阳软件开发
在微信小程序的开发中,我经常遇到一些兼容性问题。例如,在将时间字符串转换为时间戳的方法中,我使用Date.parse(new Date())方法,但是在微信开发人员。此方法通常在工具中实现,但在某些iPhone设备和Android中的某些设备中不会实现。为了解决这个问题,我只能导入momentjs,而不是调用系统方法。这里我们将讨论一些兼容性问题。
运行环境差异
微信小程序在三端运行:用于调试的iOS,Android和开发人员工具。
三端脚本执行环境和用于呈现非本机组件的环境是不同的:
在iOS上,小程序的javascript代码在JavaScriptCore中运行,由WKWebView呈现。 Android环境中有iOS8及以上版本。 小程序 javascript代码由X5 JSCore解析,基于基于X5的Mobile Chrome 53/57内核。要在开发工具上呈现,小程序 javascript代码在nwjs中运行并由Chrome Webview呈现。虽然三端环境非常相似,但存在一些差异:
ES6语法支持不一致语法开发人员可以通过打开ES6到ES5来规避。
Wxss呈现不一致虽然您可以通过打开样式完成来避免大多数问题,但建议开发人员分别在iOS和Android上检查小程序的真实性能。
ES6 转 ES5
在0.10.101000及更高版本的开发工具中,默认情况下使用babel将开发人员ES6语法代码转换为三方支持的ES5代码,帮助开发人员解决由不同环境引起的开发问题。
样式补全
启用此选项后,开发工具将自动检测并完成缺少的样式,以确保在较低版本系统上正确显示。虽然您可以避免大多数问题,但建议开发人员分别在iOS和Android上检查小程序的真实性能。
兼容
小程序的功能继续增加,但微信客户端的旧版本不支持新功能,因此在使用这些新功能时需要兼容性。
该文档将附带页面描述中每个功能支持的版本号,例如组件和API。
基本库版本号小程序可以通过wx.getSystemInfo或wx.getSystemInfoSync获得。
您可以使用wx.canIUse来确定是否可以直接在基本库版本下使用相应的API或组件。
获取系统信息
同步
设res=wx.getSystemInfoSync()console.log('同步获取系统信息:'+ res);的console.log(RES);异步:
wx.getSystemInfo({success: function(res){console.log('Asynchronous Get System Information:'); console.log(res);},})Version Comparison微信客户端和小程序基本库的版本号样式为Major.Minor.Patch(主要版本号。次要版本号。修订号)。开发人员可以根据版本号
进行兼容性 函数compareVersion(v1,v2){v1=v1.split('。')v2=v2.split('。')var len=Math.max(v1.length,v2.length)while(v1.length< Len){v1.push('0')} while(v2.length< len){v2.push('0')} for(var i=0; i< len; i ++){var num1=parseInt (v1 [i])var num2=parseInt(v2 [i])if(num1> num2){return 1} else if(num1< num2){return -1}} return 0} compareVersion('1.11.0 ','1.9.9')//1基本库版本直接使用相应的API或组件API
wx.canIUse(String)确定小程序的API,回调,参数,组件等是否在当前版本中可用。从基本库版本1.1.1开始支持此接口。
字符串参数说明:使用{API}。{method}。{param}。{options}或{component}。{attribute}。{option}进行调用,例如:
{API}表示API名称{method}表示调用方法,有效值为return,success,object,callback {param}表示参数或返回值{options}表示参数{component的可选值}表示组件名称{attribute}表示组件属性{option}表示组件属性的可选值
例如:
wx.canIUse( 'openBluetoothAdapter')wx.canIUse( 'getSystemInfoSync.return.screenWidth')wx.canIUse( 'getSystemInfo.success.screenWidth')wx.canIUse( 'showToast.object.image')wx.canIUse('onCompassChange .callback.direction ')wx.canIUse(' request.object.method.GET ')wx.canIUse(' 实况玩家 ')wx.canIUse(' text.selectable ')wx.canIUse(' button.open型.contact')Javascript 标准库兼容性问题
微信小程序兼容性问题除微信本身的错误外,其中大部分都是由目标平台到JavaScript标准库的不同支持级别引起的。我在顶部遇到的问题是Javascript标准库兼容性问题。对于这类问题我们可以修补,从其他地方找到更完整的js代码,然后我们将其复制到我们的项目中。
以上是微信小程序兼容性问题如何解决文章,如果你想了解更多关于小程序的开发文章,请关注网站,谢谢。
HiShop小程序工具提供多种类型的商城/商店小程序制作,可视化编辑1秒,在线生成5个步骤。通过拖动和拼接模块布局小程序商城页面,你可以看到你得到的东西,你只需要艺术家来制作一个漂亮的商场。有关更多小程序,请参阅:小程序 store
< 汇海(www.hvihi.com)是国内知名的商城系统和商城网站建设提供商,其中汇海技术小程序系统提供小程序商城开发,小程序配送系统,微分配系统,商城系统,电子商务网站建设, 微信发行系统,小程序商城及其他多端商场和电子商务行业解决方案>
确认:这个文件和图像源网络编辑器的网站部分,如果有侵权及时通信删除。 汇海hvihi.com网站原创文章,请注明出处。
“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
热门文章
使用“扫一扫”即可将网页分享至朋友圈。
上一篇:
微信彩票小程序制作开发,微信彩票小程序怎么办
下一篇:很抱歉没有了