现阶段,应用组件和 API 能力正在逐步完善和丰富,但是老版本客户端并不支持这些新增能力,因此建议开发者做对应的兼容性处理。
我们提供接口 my.canIUse(String)
实现兼容性判断,详见接口说明 。
以下为部分兼容示例。
对于新增 API,可以参照下面的代码来判断当前基础库是否支持该 API。
if (my.getLocation) { my.getLocation(); } else { // 如果希望用户在最新版本的客户端上体验您的应用,可以这样提示 my.alert({ title: '提示', content: '当前版本过低,无法使用此功能,请升级最新版本' }); }
if (my.canIUse('getLocation.object.type')) { // ... } else { console.log('当前版本不支持该参数') }
if (my.canIUse('getSystemInfo.return.storage')) { // ... } else { console.log('当前版本不支持该返回值') }
对于组件,新增属性在旧版本上不会被处理,也不会报错。如果希望对属性做降级处理可以参照如下代码。
Page({ data: { canIUse: my.canIUse('button.open-type.share') } })
<button a:if="{{canIUse}}" open-type="share">分享应用</button> <button a:else onTap="shareApp">分享应用</button>