【问题标题】:How can I recognize Safari version in javascript? [duplicate]如何在 javascript 中识别 Safari 版本? [复制]
【发布时间】:2017-01-15 07:07:36
【问题描述】:

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

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

【问题讨论】:

  • safari 5.1 没有实现FileReader ...但您的问题很广泛...您说“例如 5.1.7”然后说“小于 7”...使用特征检测不要专注于确定一个版本

标签: javascript jquery safari


【解决方案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

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 2011-06-12
      • 2019-07-20
      相关资源
      最近更新 更多