【发布时间】:2019-02-22 17:08:05
【问题描述】:
2018.10.31 更新
iOS 12.1 已修复此错误,祝你有美好的一天~
在新发布的 iOS 12 Safari 中发现 Array 的值状态有问题,例如这样的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>iOS 12 Safari bugs</title>
<script type="text/javascript">
window.addEventListener("load", function ()
{
let arr = [1, 2, 3, 4, 5];
alert(arr.join());
document.querySelector("button").addEventListener("click", function ()
{
arr.reverse();
});
});
</script>
</head>
<body>
<button>Array.reverse()</button>
<p style="color:red;">test: click button and refresh page, code:</p>
</body>
</html>
刷新页面后,数组的值还是取反了。这是新 Safari 的错误还是功能?
这是一个演示页面。尝试将它与 iOS 12 Safari 一起使用: https://abelyao.github.io/others/ios12-safari-bug.html
【问题讨论】:
-
在 macOS 10.14 Mojave 中也确认了错误 - i.imgur.com/ZJtJJC1.png
-
macOS 10.13.6 (High Sierra) 和 Safari 版本 12.0 (13606.2.11) 有同样的问题。刷新页面后数组仍然是反转的。
-
该漏洞已在 Safari 12.0.1 (macOS) 和 iOS 12.1 中得到修复。
标签: javascript ios safari ios12