资讯专栏INFORMATION COLUMN

iOS 12 JS数组Bug,可能带来互联网风波,附修复方法

neroneroffy / 2602人阅读

摘要:网络上已经有人遇到数组相关的一个,似乎会酿成整个互联网风波。如果反复刷新几次,数组将会反复倒序。已苹果的量级,这个版本可能会有影响很多用户。

作者:明非
来源:https://fanmingfei.com/posts/...

喜气洋洋,被安利使用iOS12,红红火火,更新最新版本。

网络上已经有人遇到 iOS 数组相关的一个Bug,似乎会酿成整个互联网风波。
Array state will be cached in iOS 12 Safari, is bug or feature? -- stackoverflow

iOS 12 的 safari 有哪些变化吗?今天发现了一个 javascript 的问题 - V2EX

Hax 也在V2这篇帖子中产生中分析了这个Bug出现的原因

先来使用 iOS 12 体验一下:
这是原网页
这是修复后的

点击网页上方的 Click Refresh,可以看到,网页刷新后,原网页中,数组的顺序在第二次访问网页的时候,变成了倒序,即便是关闭网页重新进来,也会是倒序的。如果反复刷新几次,数组将会反复倒序。看起来是 Webview 将这个数组缓存了。

点击网页上方的 Click Test,可以看到调用的是同一个函数,函数中的数组每次都会重新定义,但是这个数组还是会保持上一次 reverse 后的顺序。

通过测试,Array的其他API并没有这种问题,包括手动改变数组中的元素顺序,都不会出现这种问题,目前只发现了使用 reverse 出现这种问题。

当我们使用 reverse 去改变数组顺序的时候,那么数组的顺序一定对我们来说特别重要,如果第二次进来还是最后的顺序,这将对我们的应用产生非常大的影响!

紧急写了一个文件来应对这个问题,如果有必要,大家可以使用,如果有问题欢迎大家PR。
array-reverse-ios12

不知苹果是否可以通过 HotPatch 来修复这个问题,如果不能那可能只能下次版本升级了。已苹果的量级,这个版本可能会有影响很多用户。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/17135.html

相关文章

  • iOS 12 JS数组Bug可能带来联网风波修复方法

    摘要:网络上已经有人遇到数组相关的一个,似乎会酿成整个互联网风波。如果反复刷新几次,数组将会反复倒序。已苹果的量级,这个版本可能会有影响很多用户。 作者:明非来源:https://fanmingfei.com/posts/... 喜气洋洋,被安利使用iOS12,红红火火,更新最新版本。 网络上已经有人遇到 iOS 数组相关的一个Bug,似乎会酿成整个互联网风波。Array state wi...

    cartoon 评论0 收藏0
  • 云帮社区版迎来10.25更新档, 11月版本功能预告

    摘要:项新功能个修复篇文档更新用户安装使用,云帮社区版迎来更新档过去的个月,我们收到了不同行业,超过家企业用户在云帮社区版安装使用以及优化配置过程中遇到的问题反馈以及对产品的建议。 17 项新功能、12 个bug修复、8篇文档更新、500+用户安装使用,云帮社区版 迎来10.25更新档 过去的1个月,我们收到了不同行业,超过500家企业用户在云帮社区版安装、使用以及优化配置过程中遇到的问题反...

    guyan0319 评论0 收藏0
  • 云帮社区版迎来10.25更新档, 11月版本功能预告

    摘要:项新功能个修复篇文档更新用户安装使用,云帮社区版迎来更新档过去的个月,我们收到了不同行业,超过家企业用户在云帮社区版安装使用以及优化配置过程中遇到的问题反馈以及对产品的建议。 17 项新功能、12 个bug修复、8篇文档更新、500+用户安装使用,云帮社区版 迎来10.25更新档 过去的1个月,我们收到了不同行业,超过500家企业用户在云帮社区版安装、使用以及优化配置过程中遇到的问题反...

    PumpkinDylan 评论0 收藏0
  • 【备战春招/秋招系列】美团Java面经总结进阶篇 (详解答案)

    摘要:我在前面的文章中也提到了应该怎么做自我介绍与项目介绍,详情可以查看这篇文章备战春招秋招系列初出茅庐的程序员该如何准备面试。因此基于事件消息对象驱动的业务架构可以是一系列流程。 showImg(https://user-gold-cdn.xitu.io/2018/11/14/16711ac29c2ae52c?w=928&h=531&f=png&s=798562); 一 消息队列MQ的...

    chengjianhua 评论0 收藏0
  • 阿里云前端周刊 - 第 18 期

    摘要:然鹅在过去的两个月里,对的理解发生了一波三折的变化。发布自版本发布之后,一直致力于提升版本迭代速度,尽可能地通过小的更新来修复存在的问题。 推荐 1. 深入浅出 React 高阶组件 https://zhuanlan.zhihu.com/p/... 由高阶函数引申高阶组件,高阶组件是接受 React 组件作为输入,输出一个新的 React 组件的组件,本文介绍了在 React 工程中如...

    luck 评论0 收藏0

发表评论

0条评论

neroneroffy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<