每个版本的iOS都自带哪个版本的移动safari

What version of mobile safari comes with each version of iOS?

本文关键字:版本 移动 safari iOS      更新时间:2023-09-26

我正在尝试找出我可以使用什么Javascript api来实现对iOS2移动Safari的支持。我还没有找到一个列表,显示每个新版本的iOS都附带哪个版本的Mobile Safari。我正在寻找一个完整的列表,可以追溯到iOS2。

谢谢!

[编辑:是的,我知道并且喜欢特征检测。]然而,我有一组需要支持的目标浏览器,我只需要验证我提供的回退是否覆盖了我的目标用户,并且我不需要提供额外的回退,这是繁琐的hack)。

既然这已经是Google上最热门的,我们应该在这里开始一个列表。我会把这个答案放在社区维基上。顺便说一下,我是从设备的用户代理字符串中提取这些。浏览器版本依赖于iOS版本,而不是设备。但当手机不支持更高版本的iOS时,它会被列出:

3.2.2    - Mobile Safari 4.0.4
4.3.3    - Mobile Safari 5.02   - iPhone 3g
5.0      - Mobile Safari 5.1
5.1      - Mobile Safari 5.1
6.0      - Mobile Safari 6.0    - iPhone 3gs
7.1      - Mobile Safari 7.1    - iPhone 4
8.3      - Mobile Safari 8.0
9.2.1    - Mobile Safari 9.0    - iPhone 4s
10.3.4   - Mobile Safari 10.0   - iPhone 5
11.2.5   - Mobile Safari 11.0
12.1.4   - Mobile Safari 12.0
12.4.4   - Mobile Safari 12.1   - iPhone 5S, 6
13.0     - Mobile Safari 13.0
[...]    - [...]
15.2     - Mobile Safari 15.2

这家伙的列表真的很有用:http://www.somegeekintn.com/blog/stuff/iosvers/

如果你需要额外的信息,你可以在useragentstring.com上解码Safari版本,例如:

http://www.useragentstring.com/Safari5.0.2_id_18120.php解释说Safari版本6533.18.5被称为"Safari 5.0.2"

我也找不到一个完整的列表。到目前为止,我找到的最好的东西是苹果公司的一些Safari文档:

https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html

祝你好运!

(更新)

虽然这仍然没有回答问题,但它至少告诉我们WebKit在2009年2月添加了对getBoundingClientRect()的支持。

http://trac.webkit.org/changeset/40837

你应该做的不是设备或操作系统检测,而是功能检测——这将提供更丰富的体验,你可以提供自定义代码来添加特定版本不支持的功能。通过这种方式,你将提供超越你所瞄准的特定设备的支持(并且它通常最终会更容易,因为你不是为特定的用户代理分支你的代码,而是通过在有条件的基础上提供前瞻性支持来回填对旧的js实现的支持)。

例如,最新版本的桌面&移动Safari不提供将上下文绑定到闭包的.bind()功能。这可以使用Function.prototype.bind来检测和处理,如果它不存在,提供一个实现,为旧的浏览器提供功能。使用像http://www.modernizr.com/这样的库将极大地帮助您完成这项工作。

也就是说,有一些特定的DOM事件与某些版本的iOS相关联:= = Libraries& http://developer.apple.com/library/safari/navigation/部分话题Safari % 20 dom % 20增加% 20 % 20 ios

如果您正在查看特定的API, caniuse.com是查找API支持时间的绝佳资源。

祝你好运!