【发布时间】:2011-10-06 20:11:50
【问题描述】:
我们有一个聊天程序,目前只能在几种浏览器上运行。因此,我插入了一个用户代理重定向来管理消息传递,以通知用户为什么他们无法使用不受支持的浏览器聊天。
我遇到的问题只有 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>
【问题讨论】:
-
为什么要将使用 Google Chrome 和 Safari 的用户重定向到他们可以下载 Google Chrome 和 Safari 的页面,而这不会改变任何内容? (此外,谷歌浏览器通常与 Firefox 兼容,您应该为跨浏览器聊天编写代码,除非您有充分的理由不...)
-
此外,Google Chrome 在其用户代理中包含字符串“Safari”,因此您需要将 Chrome 移至 Safari 之上。
-
@minitech 这只是为了解决这个问题。我计划将他们重定向到一个页面,该页面包含通知他们浏览器不兼容的消息。我也不打算将它们发送到 gofetch.com。这只是一个例子……是的,我们的聊天程序现在非常有限。我知道。
-
检查 Firefox 用户代理字符串 here 并相应地写下您的条件。
-
@Evan:你为什么不借助服务器端代码来处理你的逻辑呢?我不知道你的平台,因为你没有提到它。
标签: javascript browser redirect user-agent