我如何在javascript中识别Safari版本

How can I recognize Safari version in javascript?

本文关键字:识别 Safari 版本 javascript      更新时间:2023-09-26

我可以在js或jQuery中识别Safari浏览器的版本吗?我不是在寻找webkit版本,而是寻找Safari版本(例如:5.1.7)。

我需要为Safari隐藏一些小于v7的元素:(

这个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+的hack为了得到正确的结果,还需要多种技巧的组合:

/* 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/

使用

if(speechSynthesis){
  //code to be run in Safari 7+
}else{
  //code not to be run in said versions
}

这应该可以工作,因为speechSynthesis是在版本7中添加的。

来源:http://CanIUse.com/比较= safari + 6.1, safari + 7