iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序兼容性问题怎么解决
  • 871
分享到

微信小程序兼容性问题怎么解决

2023-06-26 08:06:47 871人浏览 独家记忆
摘要

这篇文章主要介绍“微信小程序兼容性问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序兼容性问题怎么解决”文章能帮助大家解决问题。运行环境差异微信小程序运行在三端:iOS、Andro

这篇文章主要介绍“微信小程序兼容性问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序兼容性问题怎么解决”文章能帮助大家解决问题。

微信小程序兼容性问题怎么解决

运行环境差异

微信小程序运行在三端:iOSAndroid 和 用于调试的开发工具

三端的脚本执行环境以及用于渲染非原生组件的环境是各不相同的:

ioS 上,小程序的 javascript 代码是运行在 JavaScriptCore 中,是由 WKWEBView 来渲染的,环境有 iOS8以上 
在 Android 上,小程序的 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或者组件

获取系统信息

同步

let res = wx.getSystemInfoSync()console.log("同步获取系统信息:" + res);console.log(res);

异步:

wx.getSystemInfo({success: function(res) {console.log("异步获取系统信息:");console.log(res);},})

版本比较

微信客户端和小程序基础库的版本号风格为 Major.Minor.Patch(主版本号.次版本号.修订号)。 开发者可以根据版本号去做兼容

function 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 版本开始支持。

String参数说明: 使用{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('live-player')wx.canIUse('text.selectable')wx.canIUse('button.open-type.contact')

Javascript 标准库兼容性问题

微信小程序的兼容性问题除了微信本身的 Bug 外,大部分是目标平台对 JavaScript 标准库支持程度不同造成的。像我最上面遇到的问题就是Javascript 标准库兼容性问题。对于这类问题我们可以打补丁,从其他地方找到比较完善的js代码,然后我们拷贝到我们的项目中。

关于“微信小程序兼容性问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 微信小程序兼容性问题怎么解决

本文链接: https://www.lsjlt.com/news/307888.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序兼容性问题怎么解决
    这篇文章主要介绍“微信小程序兼容性问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序兼容性问题怎么解决”文章能帮助大家解决问题。运行环境差异微信小程序运行在三端:iOS、Andro...
    99+
    2023-06-26
  • 微信小程序中如何解决IOS和Android兼容的问题
    这篇文章将为大家详细讲解有关微信小程序中如何解决IOS和Android兼容的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序开发之IOS和Android兼容的...
    99+
    2022-10-19
  • 微信小程序中遇到的iOS兼容性问题有哪些
    这篇文章主要介绍了微信小程序中遇到的iOS兼容性问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.iOS中input的placeh...
    99+
    2022-10-19
  • 微信客户端小程序兼容性怎么设置
    本篇内容介绍了“微信客户端小程序兼容性怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  兼容  小程序的功能不断的增加,但是旧版本的...
    99+
    2023-06-26
  • 微信小程序自定义tabbar问题怎么解决
    这篇文章主要介绍“微信小程序自定义tabbar问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序自定义tabbar问题怎么解决”文章能帮助大家解决问题。1、首先按照官方组件在app...
    99+
    2023-06-29
  • XHTML+CSS兼容性问题怎么解决
    本篇内容主要讲解“XHTML+CSS兼容性问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“XHTML+CSS兼容性问题怎么解决”吧!解决XHTML+C...
    99+
    2022-10-19
  • 微信小程序怎么解决获取流量的问题
    这篇文章主要介绍“微信小程序怎么解决获取流量的问题”,在日常操作中,相信很多人在微信小程序怎么解决获取流量的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么解决获取流量的问题”的疑惑有所帮助!...
    99+
    2023-06-27
  • uniapp微信小程序底部动态tabBar问题怎么解决
    这篇文章主要讲解了“uniapp微信小程序底部动态tabBar问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“uniapp微信小程序底部动态tabBar问题怎么解决”吧!需求分包中...
    99+
    2023-06-30
  • 怎么解决IE7和IE8兼容性问题
    怎么解决IE7和IE8兼容性问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。IE8会是福音还是又一个光环据称全面兼容标准,今天向大家介绍如何...
    99+
    2022-10-19
  • IE6中怎么解决CSS兼容性问题
    本篇内容主要讲解“IE6中怎么解决CSS兼容性问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“IE6中怎么解决CSS兼容性问题”吧!  IE6中常见CSS兼容...
    99+
    2022-10-19
  • CSS常见兼容性问题怎么解决
    这篇文章主要介绍“CSS常见兼容性问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS常见兼容性问题怎么解决”文章能帮助大家解决问题。   浏览器的兼...
    99+
    2022-10-19
  • 微信小程序getUserInfo授权问题如何解决
    本篇内容主要讲解“微信小程序getUserInfo授权问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序getUserInfo授权问题如何解决”吧!设置一个用户授权登录的过渡页...
    99+
    2023-06-26
  • 微信小程序使用picker组件出现问题怎么解决
    本篇内容主要讲解“微信小程序使用picker组件出现问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序使用picker组件出现问题怎么解决”吧!一、picker基本概念先来看一...
    99+
    2023-07-04
  • 怎么解决CSS浏览器兼容性问题
    这篇文章主要介绍了怎么解决CSS浏览器兼容性问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为什么会有浏览器兼容性问题?还不是因为浏览器厂商太多了!Chrome,Frire...
    99+
    2023-06-08
  • IE7.JS怎样解决IE兼容性问题
    这篇文章给大家介绍 IE7.JS怎样解决IE兼容性问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。和大家重点讨论一下如何使用IE7.JS解决IE兼容性问题,IE7.JS是一个用来使老...
    99+
    2022-10-19
  • 微信小程序开发常见问题有哪些及怎么解决
    这篇“微信小程序开发常见问题有哪些及怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序开发常见问题有哪些及怎么...
    99+
    2023-06-26
  • css min-height属性的兼容问题怎么解决
    CSS min-height属性的兼容问题可以通过以下方法解决:1. 使用浏览器前缀:在不同浏览器中添加对应的浏览器前缀,如-web...
    99+
    2023-10-12
    css
  • HTML怎么解决跨浏览器兼容性问题
    这篇文章主要介绍了HTML怎么解决跨浏览器兼容性问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML怎么解决跨浏览器兼容性问题文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2022-10-19
  • Linux怎么修改ELF解决glibc兼容性问题
    本篇文章给大家分享的是有关Linux怎么修改ELF解决glibc兼容性问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux glibc 问题相信有不少 Linux 用户...
    99+
    2023-06-28
  • 如何解决微信小程序入口场景的问题
    这篇文章主要为大家展示了“如何解决微信小程序入口场景的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决微信小程序入口场景的问题”这篇文章吧。前言最近一...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作