如何在 javascript 中识别 Safari 版本? [复制]
Posted
技术标签:
【中文标题】如何在 javascript 中识别 Safari 版本? [复制]【英文标题】:How can I recognize Safari version in javascript? [duplicate] 【发布时间】:2017-01-15 07:07:36 【问题描述】:我可以在 js 或 jQuery 中识别 Safari 浏览器的版本吗?我不是在寻找 webkit 版本,而是在寻找 Safari 的版本(例如:5.1.7)。
我需要为 Safari 隐藏一些低于 v7 的元素 :(
【问题讨论】:
safari 5.1 没有实现FileReader
...但您的问题很广泛...您说“例如 5.1.7”然后说“小于 7”...使用特征检测不要专注于确定一个版本
【参考方案1】:
这个 hack 是通过结合多个其他 hack 得出的,适用于 6.1+:
/* Safari 6.1+(9.0 是目前 Safari 的最新版本)*/
@media screen and (min-color-index:0)
and(-webkit-min-device-pixel-ratio:0) @media
.safari_only
color:#0000FF;
background-color:#CCCCCC;
以下是区分 6.1-7.0 和 7.1+ 的技巧 为了获得正确的结果,这些还需要多种技巧的组合:
/* Safari 6.1-7.0 */
@media screen and (-webkit-min-device-pixel-ratio:0)
and (min-color-index:0)
.safari_only (;
color:#0000FF;
background-color:#CCCCCC;
);
这是 Safari 8 及更高版本的一个:
/* Safari 7.1+(9.0 是目前 Safari 的最新版本)*/
_::-webkit-full-page-media, _:future, :root .safari_only
color:#0000FF;
background-color:#CCCCCC;
参考这个链接: https://jeffclayton.wordpress.com/2015/04/28/css-hacks-for-safari-6-1-7-and-8-not-chrome/
【讨论】:
【参考方案2】:使用
if(speechSynthesis)
//code to be run in Safari 7+
else
//code not to be run in said versions
这应该可以工作,因为 speechSynthesis
是在版本 7 中添加的。
来源:http://CanIUse.com/#compare=safari+6.1,safari+7
【讨论】:
以上是关于如何在 javascript 中识别 Safari 版本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在本机 safari 应用程序扩展中,我们如何使用 swift 的参数调用 javascript 函数?
如何在移动 Safari 中使用 javascript 突出显示文本选择
如何使用 Javascript 在移动 Safari 和所有其他浏览器上录制音频?