0

如果这个答案在本网站或网上的其他地方,请原谅我。如果是的话,我肯定在过去几天的搜索中没有找到它。

我希望找到的是一种“准确”的方法来检测浏览器并重定向到一个简单的静态页面,如果不是最近的浏览器的话。

到目前为止,我发现的示例通常无法准确表示正在使用的实际浏览器。例如:

  • 使用 Navigator 9 进行测试时,我会收到一条消息,提示我正在使用 Firefox 2
  • 使用 Maxthon 3 进行测试时,它报告我使用的是 IE 9。

我的网站在我测试过的所有当前浏览器中都能正确显示。但我希望我能为那些出于任何原因仍在使用旧浏览器的 0.01% 的人提供一个基本的静态页面。他们仍然可以从我的网站获得一些基本信息,并鼓励他们更新到更新的浏览器。

如果有人有任何有用的建议,我将不胜感激。

非常感谢。

干杯,

大卫

4

2 回答 2

0

由于各种原因,浏览器检测从来都不是完美的。如果您使用的是 jQuery,您应该查看jQuery.browser

如果浏览器是非标准的,我会尝试检测服务器端的浏览器并执行 HTTP 重定向。大多数体面的框架都具有从用户代理字符串中检测浏览器的功能。同样,这并不完美,主要是因为数据浏览器报告。另外,如果傲游报它是IE,那是因为它基于IE的,所以布局引擎应该是一样的。

所以你要么

  • 支持少数浏览器并迎合他们的怪癖,将所有其他浏览器发送到一个基本页面(这对于未来版本的浏览器来说很糟糕,因为它们可能符合标准,但它们仍然会显示您的非常基本的页面),或者

  • 你有一个所有浏览器都符合标准的页面,然后你定义了那些给你带来问题的替代方案。

我会选择第二个选项。它通常归结为适用于所有浏览器的一个版本,以及适用于各种版本的 IE 的许多 hack。另外,请记住避免在您的 CSS 中填充并使用边距。

最后,您可能不应该测试浏览器和版本号,而是支持的功能。尝试使用Modernizr

于 2012-04-07T07:16:26.397 回答
0

$.browser 属性在 jQuery 1.3 中已弃用。在 jQuery 支持站点上,他们强烈建议使用检测功能(JQuery.support) 而不是 jQuery.browser 属性。实际上,这已经在另一个问题中得到了回答,请在这里查看如何检测浏览器的版本?

于 2013-04-03T10:09:12.240 回答