显示“不支持的”浏览器消息的最佳方式

时间:2013-04-12 18:38:09

标签: javascript browser cross-browser

我们正在开发一个仅支持“现代”浏览器的Web应用程序(基本上是IE9及以上版本,以及任何其他具有大致相同数量的现代功能的浏览器)。

我们的网络应用程序也适用于平板电脑和智能手机等移动设备。

由于这是一个Web应用程序(与普通网站相对),我们可以将一些用户置于寒冷中,因为某些高级功能依赖于现代功能(即旧浏览器)。

但是,我们希望至少显示一条让他们知道的消息。

我们希望基本上维护两个列表:“支持的浏览器”和“不支持的浏览器”,第三个隐式列表“不支持的浏览器”(即,至少是浏览器)。

  • 如果浏览器位于受支持的列表中,我们将不会显示任何内容。
  • 如果它位于“不支持”列表中,它将始终显示一条消息“此浏览器不受支持,请升级等等”。
  • 如果浏览器不在任何一个浏览器中,它将显示一条消息(几乎可以永久解除),其中显示“此浏览器未直接针对我们的网站进行测试,某些功能可能无法按预期运行。”你遇到任何问题,请报告他们等等。“

构建这个以及什么不是问题。但是,我想知道是否有一些网站/服务有一个已经做过这种事情的API,或者至少维护了我可以从中获取的浏览器列表。 (如果没有,我只是计划使用手动测试结合来自“我可以使用...”和Modernizr等网站的信息。)

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在网上浏览我看过的所有资源都说你基本上不应该使用浏览器检测。最好测试您知道的功能,这些功能在您不支持的浏览器中不存在,而不是尝试查看用户代理字符串。

http://www.quirksmode.org/js/support.html(如果您想知道查看您网页的浏览器是否支持您要在代码中使用的某些对象,那么您永远不应该使用浏览器检测。)

http://api.jquery.com/jQuery.support/(不是使用$ .browser来检测当前用户代理并根据运行的浏览器更改页面显示,使用特征检测是一种很好的做法。)

所以我认为你使用现代化器的方法可能是最好的。

答案 1 :(得分:0)

您不需要服务。

“支持”列表仅包含您实际测试的浏览器/设备/操作系统组合。

“不支持”列表包含您知道不起作用的浏览器/设备/操作系统组合(即,它们未通过测试)

如你所说,'可能有效'列表是隐含的。