通过JS for Safari 5进行浏览器检测

时间:2010-06-27 12:52:04

标签: javascript extjs

如何检查用户当前的浏览器是否为Safari 5?

更新

如果用户使用较旧的浏览器,我们会在我们的网站上检查显示“浏览器不支持”消息。目前我们的错误出现在最新的Safari中,它不应该出现。

2 个答案:

答案 0 :(得分:3)

如果你确实想要这样做,你可以按照Ext使用的相同行检查用户代理。

来自Ext.js的片段:

    ua = navigator.userAgent.toLowerCase(),
    check = function(r){
        return r.test(ua);
    },
    DOC = document,
    isStrict = DOC.compatMode == "CSS1Compat",
    isOpera = check(/opera/),
    isChrome = check(/\bchrome\b/),
    isWebKit = check(/webkit/),
    isSafari = !isChrome && check(/safari/),
    isSafari2 = isSafari && check(/applewebkit\/4/), // unique to Safari 2
    isSafari3 = isSafari && check(/version\/3/),
    isSafari4 = isSafari && check(/version\/4/),

我猜测Safari 5你可以写一个类似的测试, version 将是5,但我没有检查Safari 5的用户代理字符串是什么样的。

答案 1 :(得分:1)

请参阅:

jsBrowsersDetect

或者

Browser detect

但这不是一个好习惯 ,但最好尽可能避免浏览器特定代码。 JQuery $.support属性(如果需要)可用于检测对特定功能的支持,而不是依赖于浏览器名称和版本。