如何识别javascript中的Safari版本?

时间:2016-09-07 14:21:48

标签: javascript jquery safari

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

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

2 个答案:

答案 0 :(得分:1)

通过组合多个其他黑客来解决这个问题是针对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/

答案 1 :(得分:1)

使用

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

这应该有效,因为版本7中添加了speechSynthesis

来源:http://CanIUse.com/#compare=safari+6.1,safari+7