加载中 ...
首页 > 新闻资讯 > 小程序 正文

微信小程序兼容性问题如何解决

2019-07-31 08:49:54 来源:沈阳小程序开发 作者:沈阳软件开发

在微信小程序的开发中,我经常遇到一些兼容性问题。例如,在将时间字符串转换为时间戳的方法中,我使用Date.parse(new Date())方法,但是在微信开发人员。此方法通常在工具中实现,但在某些iPhone设备和Android中的某些设备中不会实现。为了解决这个问题,我只能导入momentjs,而不是调用系统方法。这里我们将讨论一些兼容性问题。

21708-1PQ616164YX.jpg

运行环境差异

微信小程序在三端运行:用于调试的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,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。