Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何解决小程序的兼容性问题?

如何解决小程序的兼容性问题?

作者头像
知晓君
发布于 2018-06-28 09:47:09
发布于 2018-06-28 09:47:09
1.2K00
代码可运行
举报
文章被收录于专栏:知晓程序知晓程序
运行总次数:0
代码可运行

文 | kamidox

微信小程序发布有一段时间了,但目前小程序的兼容性问题,特别是 Android 平台兼容性问题,特别严重。据我观察,好多小程序都曾踩过兼容性的坑。

掉坑里不要紧,更让人捉急的是,微信审核人员打回了紧急修复兼容性的版本。这就好比从坑里爬上来的时候,手刚抓到坑沿,又被微信官方踩到,再次跌落坑底。

这下,就只能眼睁睁地看着后台用户在破口大骂:「什么东西都没有啊,什么破小程序」。

微信小程序的兼容性问题除了微信本身的 Bug 外,大部分是目标平台对 JavaScript 标准库支持程度不同造成的。

微信本身引起的 Bug

微信本身的 Bug 引发的兼容性问题有个现成的例子,就是 wx.request() 返回的状态码 res.statusCode 的值在 iOS 下是 int 型数据,而在 Android 6.0.1 上却是 String 型数据。

如果你判断服务器的返回状态码方法不当,可能就踩到坑里了。

上述代码就踩坑了。在判断状态码时,正确的做法是使用 == 而不是使用 === 来判断。另外一个更规范的方法是使用 parseInt(res.statusCode) === 200 来实现。

JavaScript 标准库兼容性问题

比如 Array.find() 方法在 iOS 10.2 / Android 7.0 上完美支持,但在 Android 6.0.1 上却不支持。如果代码里用到了这个接口,就会导致在 Android 6.0.1 上无法正常工作。

通过对比发现,这类接口不支持的个数还是比较多的。特别是 Android 平台版本众多,兼容性问题就更严重,可能一不小小心就掉到坑里。

如何避开这些坑?

微信本身 Bug 只能绕过去,但对 JavaScript 引擎的兼容性,我们有更优雅的解决方法。比如,我们可以打补丁,使用 Polyfill 来实现这些不支持的标准库方法。

比如,修复 Android 6.0.1 平台不支持 String.startsWith() 的问题,可以使用下面的 Polyfill 代码:

推而广之,我们可以把平台不支持的标准库方法,使用 Polyfill 实现。因此,我开发了 minapp-polyfill 这个项目。

使用方法很简单,把 minapp-polyfill 项目里的 polyfill.js 拷贝到小程序源码目录下,然后在需要打补丁的 JavaScript 源文件头部引入如下代码即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import 'path/to/polyfill.js'

目前这个项目只是搭了个骨架,还有很多方法需要实现。PRs is welcome。

原文地址: http://www.jianshu.com/p/90220a55f542

minapp-polyfill 项目地址: https://github.com/kamidox/minapp-polyfill

本文由知晓程序授权转载,关注微信号 zxcx0101,回复「1228」获得全网第一本《小程序入门指南》电子书。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知晓程序 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AI大模型的战场:通用与垂直的较量
在人工智能的快速发展浪潮中,大模型技术已经站在了科技革命的前沿。随着技术的不断进步和应用场景的不断拓展,AI大模型的战场正在经历一场深刻的分化。本文将探讨这一现象,并分析通用大模型与垂直大模型在落地场景中的不同优势,以及它们在未来竞争中的潜在赛点。
正在走向自律
2024/12/18
2560
AI大模型的战场:通用与垂直的较量
「中国法研杯」相似案例匹配竞赛结果出炉,冠军方案关键技术解读
2019 年 10 月 19 日,第十八届中国计算语言学大会「中国法研杯」相似案例匹配评测研讨会在云南昆明完美落幕。会上,清华大学刘知远副教授、中国科学院软件研究所韩先培研究员、幂律智能科技有限公司 CEO 涂存超博士等均出席了该会议。
AI科技评论
2019/10/31
1.1K0
「中国法研杯」相似案例匹配竞赛结果出炉,冠军方案关键技术解读
当AI客服遇上「图文混排」提问,京东给电商AI来了场摸底考试
对于很多人来说,决定自己网购体验的,除了快递的速度,还有AI客服咨询的流畅和智能水平。
机器之心
2020/12/18
1K0
AI大赛方案分享 | 铝型材表面瑕疵识别 --top1方案
https://tianchi.aliyun.com/competition/entrance/231682/introduction
AI算法与图像处理
2019/09/03
2.2K0
AI大赛方案分享 | 铝型材表面瑕疵识别 --top1方案
基于RoBERTa模型进行互联网新闻文本情感分析实现top1
随着网络新闻服务的飞速发展,网络上产生了大量的新闻文本信息,探索新闻文本背后的情绪表达,可以为政府和企业提供潜在价值。本题给定互联网新闻文本标题及新闻文本内容,要求判断新闻的情感极性(包括正面极性,中性极性和负面极性),是自然语言处理领域的典型分类任务。针对该任务,本文采用了RoBERTa模型,并改造了多个上层模型并通过投票融合的方式取得了较好的结果。在CCF BDCI的新闻情感分析的评测任务上,该方法在最终的B榜评测数据上,F1分值达到了0.81697最高分。
大数据技术与机器学习
2021/12/08
1.7K0
基于RoBERTa模型进行互联网新闻文本情感分析实现top1
科大讯飞CTR预估挑战赛Top3方案总结
‍前一阵子,老肥参加了科大讯飞AI开发者大赛的部分比赛,主要包括结构化、音频、文本以及图像这四大类型,总体来看都是较为简单的任务并且解题方案也较为简单,后续会跟大家一一分享。
老肥码码码
2023/03/02
5910
科大讯飞CTR预估挑战赛Top3方案总结
文本点击率预估挑战赛-冠亚季军方案总结
搜索中一个重要的任务是根据query和title预测query下doc点击率,本次大赛参赛队伍需要根据脱敏后的数据预测指定doc的点击率,结果按照指定的评价指标使用在线评测数据进行评测和排名,得分最优者获胜。
致Great
2021/01/18
7880
科大讯飞人岗匹配Top1方案总结
九月份的时候胡萝卜参加了讯飞的人岗匹配挑战赛,后面机缘巧合和老肥组队打团。比赛过程可谓跌宕起伏,非常有意思。在这里和大家分享一下我们的建模方案。
老肥码码码
2023/03/02
9980
科大讯飞人岗匹配Top1方案总结
大咖云集! IEEE x ATEC科技思享会邀您畅谈网络欺诈的风险与对抗
仲夏至此始,未来皆可期。第一期IEEE x ATEC科技思享会将于2022年6月21日与2022年6月22日在线举办。网友可在“IEEE电气电子工程师”、“雷峰网”、“AI科技评论”的微信视频号以及“ATEC科技社区”的B站号预约观看。 IEEE x ATEC科技思享会是由专业技术学会IEEE与前沿科技探索社区ATEC联合主办的技术沙龙。邀请行业专家学者分享前沿探索和技术实践,助力数字化发展。 在数字化进程中,随着网络化、智能化服务的不断深入,伴随服务衍生出的各类风险不容忽视。本期分享会的主题是《网络欺诈的
AI科技评论
2022/06/24
5340
大咖云集! IEEE x ATEC科技思享会邀您畅谈网络欺诈的风险与对抗
2022华为全球校园AI算法精英赛:季军方案!
笔者鲤鱼,是西安交通大学人工智能学院的一名研究生,在2022华为全球校园AI算法精英赛的赛道二取得了季军的成绩。
Datawhale
2023/01/09
3820
2022华为全球校园AI算法精英赛:季军方案!
雪浪制造AI挑战赛(计算辅助良品检测)--top1方案分享
从今天开始以后会分享一些大佬的竞赛相关的实战案例,很多比赛的题目都是基于实际的需要,所以可以说含金量非常高,分享这些优秀同学的作品也是希望能和大家共同成长进步。
AI算法与图像处理
2019/08/12
1.4K0
雪浪制造AI挑战赛(计算辅助良品检测)--top1方案分享
诚邀:每日十万+提问,知乎精准推荐如何做得更好?
1 月 10 日,北京智源人工智能研究院联合知乎、数据评测平台biendata举办的 “2019智源·知乎看山杯专家发现算法大赛”正式收官。该比赛从2019年9月正式启动,为期3个月,以问题路由推荐系统为赛题,开放近200万用户和1000万邀请数据的Link prediction大型数据集。
AI科技大本营
2020/02/12
1.1K0
诚邀:每日十万+提问,知乎精准推荐如何做得更好?
搜索推荐算法挑战赛OGeek-完整方案及代码(亚军)
首先很幸运拿到TIANCHI天池-OGeek算法挑战赛大赛的亚军,同时非常感谢大佬队友的带飞,同时希望我的分享与总结能给大家带来些许帮助,并且一起交流学习。(作者:王贺,知乎:鱼遇雨欲语与余)
石晓文
2019/08/02
2.3K0
搜索推荐算法挑战赛OGeek-完整方案及代码(亚军)
山东赛 - 心电图智能事件识别Top2方案分享
老肥今天和大家分享的是山东省第三届数据应用创新创业大赛的心电图智能事件识别赛题的Top2方案,完整代码已开源,需要的同学可以点击底部阅读原文一键直达。
老肥码码码
2022/06/06
6070
山东赛 - 心电图智能事件识别Top2方案分享
基于用户画像的商品推荐挑战赛Baseline【线上0.67】
科大讯飞AI开发者大赛的比赛已经正式开幕了,这些赛题涉及了各个领域,包括CV、NLP以及传统的表格赛题等等,今天老肥和大家分享的是表格赛题-基于用户画像的商品推荐挑战赛的Baseline方案,线上得分为0.67+,是目前位次较前的一个方案,还没有报名比赛的同学可以通过文章底部阅读原文直接报名。
老肥码码码
2021/07/20
1.5K1
ALL in BERT:一套操作冲进排行榜首页
好久不打比赛,周末看到“全球人工智能技术创新大赛”已经开打了一段时间,前排分数冲的有点凶,技痒的我看到了一道熟悉的赛题——小布助手对话短文本语义匹配,由于在搜索推荐系统的一些任重中,文本语义匹配子任务也是经常会遇到的一个问题,于是乎掏出那根...咳咳..沉睡了很久的GPU,翻出了祖传代码,跑了一波Baseline...
炼丹笔记
2021/05/14
6840
ALL in BERT:一套操作冲进排行榜首页
2021科大讯飞-车辆贷款违约预测赛事 Top1方案!
Hello,大家好。我是“摸鱼打比赛”队的wangli,首先介绍下自己吧,一枚半路出家的野生算法工程师。之所以起名字叫摸鱼打比赛,是因为当时5/6月份自己还处于业务交接没那么忙的一个状态中,然后想起自己也已经毕业两年,但对赛圈一直还是比较关注的,平日看到一些题目也会手痒,但奈何打工人下班之后惰性使然只想躺平,毕业之后始终没有好好打一场比赛,偶尔也会在深夜里问起自己:“廉颇老矣,尚能饭否”,就想着,这回我就利用下这段尚且不忙的日子好好打一场比赛吧。于是我就参加了这次的比赛,不仅侥幸获得了车贷这个小比赛的第一,然后还结识了一些好友,比如我尚在读研的队友陈兄,以及忙于秋招中的好友崔兄。真是收获满满~
算法进阶
2022/06/02
7510
干货 | 各大数据竞赛 Top 解决方案汇总
AI 科技评论按:现在,越来越多的企业、高校以及学术组织机构通过举办各种类型的数据竞赛来「物色」数据科学领域的优秀人才,并借此激励他们为某一数据领域或应用场景找到具有突破性意义的方案,也为之后的数据研究者留下有价值的经验。
AI科技评论
2018/12/12
2.8K0
AIWIN 心电图智能诊断Baseline【线上0.719】
今天老肥和大家分享的是AIWIN的秋季赛-心电图智能诊断竞赛的任务一Baseline方案,线上与线下验证得分均为0.719,采用的是单模树模型。
老肥码码码
2022/04/13
1K0
互联网金融领域 数据挖掘赛事 Top2 方案分享
作者:王贺 ID:鱼遇雨欲语与余 简介:武汉大学硕士,2019年腾讯广告算法大赛冠军选手,京东算法工程师,一年内获得两冠四亚一季的佳绩。
Datawhale
2019/08/01
9530
互联网金融领域 数据挖掘赛事 Top2 方案分享
推荐阅读
相关推荐
AI大模型的战场:通用与垂直的较量
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验