javascript用户代理按浏览器版本号重定向

时间:2011-07-16 17:44:46

标签: javascript browser redirect user-agent

我们现在有一个只与几个浏览器配合使用的聊天程序。因此,我正在插入用户代理重定向来管理消息,以通知用户他们为什么不能与不受支持的浏览器聊天。

我遇到的问题只有Firefox 3.1及以下版本,例如FireFox支持。但我的自定义脚本可以兼容所有Firefox版本。只有Firefox 3.1兼容的解决方案是什么?

注意:我不打算将它们发送到实际的浏览器网站,如我的示例所示。我只是将这些URL放在仅用于示例目的。我打算让自定义重定向页面上有友好的消息......

现有代码的演示: http://jsfiddle.net/evanmoore/4xr77/

代码如下:

<script type="text/javascript">
    if ((navigator.userAgent.indexOf('Firefox') != -1) || (navigator.userAgent.indexOf('MSIE') != -1)) 
    {
        // Your browser is supported for live chat
        document.location = "http://www.livechatinc.com/";
    }
    else if(navigator.userAgent.indexOf("Safari") != -1)
    {
        // Your Safari browser is not supported for live chat
        window.location = "http://www.apple.com";
    }
    else if(navigator.userAgent.indexOf("Chrome") != -1)
    {
        // Your Chrome browser is not supported for live chat
        window.location = "http://www.google.com/chrome";
    }
    else 
    {   // All others... Your browser is not supported for live chat
        window.location = "http://www.gofetch.com";
    }
</script>

2 个答案:

答案 0 :(得分:2)

基于Asad的评论,我找到了不同的浏览器字符串here,这使我能够控制版本号,就像这样......我认为这应该可以做到!

if ((navigator.userAgent.indexOf('Firefox/3.1') != -1) 

答案 1 :(得分:1)

尝试检查功能是否存在,而不是浏览器的版本。
例如if(typeof foo!='undefined')将检查foo是否存在 您可以找到更多信息here