浏览器检测插件?

4
我有一个网站,打算重新制作。目前版本的网站使用了一个jquery callout插件,在IE6中并没有完全发挥作用。这让我开始考虑浏览器检测。
起初,我只是想在主页上放置支持的浏览器,但今天在Digg上看到一些关于jquery插件和wordpress的帖子,在文章中有一个用于检测IE的插件。
于是我开始寻找一些浏览器检测插件。我找到了一些,但它们太过头了,比如这个: sevenup 它很好,但会弹出一个巨大的提示框,告诉用户更新浏览器。这个比我找到的另一个更好,那个插件基本上强制用户升级,否则他们无法继续使用网站。
所以我找到了这个: jquery plugin 这个非常好,因为它检测了主要的浏览器,并对它们进行了检测,除了chrome,我注意到这个插件会触发一个过时的浏览器。
所以我开始查看jquery文档,看看它们是否有chrome浏览器检测,这时我看到他们已经“弃用”了,现在推荐使用“支持”。
所以现在我很困惑,好像“支持”很好,我在这个网站上读到很多文章说你应该使用它。
但是它不支持一些可能对我有用的东西,比如.png检测,因为那个插件(不过我可能不会再使用那个插件,因为我认为作者已经放弃了)。
此外,我不知道这是不是我现在要寻找的东西。我猜测使用“支持”来检测不支持的内容,然后为该浏览器执行一些替代操作?
对我来说,我更希望有一些告诉用户“嘿,我在这些版本的Firefox(3.5+),IE(8+),Opera(9.5+),Chrome(某些版本),Safari(某些版本)中测试了这个浏览器。如果您没有使用这些版本,您可能无法看到网站的预期效果”的东西。
当然,我会尝试让这个消息更简短,但这就是要点。我还假设该网站将在这些浏览器的未来版本中正常工作。
我仍会检查我的网站是否能在IE 6中正常运行(通常是可以的),而且看起来还不错,但我不会花几个小时去修复可能在旧版浏览器(如IE 6)中出现的问题。
我不会测试其他浏览器的旧版,比如Firefox,因为我认为用户应该有更新的意识,所以没有必要测试Firefox 2.0或其他版本。
那么,有符合这种描述的插件吗?或者“Support”可以满足我的需求吗?
谢谢。
7个回答

5

1

对于ie6,你可以这样做:

if(typeof document.body.style.maxHeight === "undefined") {
  // do stupid ie6 stuff
}

在我的经验中,大多数其他问题都可以通过调整CSS等进行修复。我对使用jquery中的“支持”功能也不是太感兴趣。您可能还想了解特性检测

我认为这就是“支持”的意思。是的,我知道有绕过IE6的方法,我可能会使用它们一点,但像我说的,我不想花费数小时来使其在IE6中完美,如果我们继续为IE6做得越来越好,他们永远不会升级。对我来说,就像我说的,浏览器检测是告诉用户我没有测试每个太阳下每个浏览器的每个版本。我也不明白关于浏览器检测不能用于晦涩的浏览器的争论。我的回应是谁在乎?我不会为少数人使用的晦涩浏览器而特别制作。 - chobo2

1

如果您只关心筛选IE版本与其他所有内容,IE条件注释将允许您干净地提供单独的页面内容--这是向旧版IE版本提供CSS解决方法的最简单方式。

对于纯脚本编写,基于支持的机制“浏览器是否具有我想要的功能,而不管它如何调用?”可以实现您真正想要的功能。

当然,没有什么能代替在一系列浏览器中进行测试,以查看事情是否详细地符合您的要求。


1

嗯,我会去看一下。我还没有查看源代码以及它是如何呈现的,但是在顶部添加一个消息框是否容易(就像我提到的链接)?另外,我注意到在你的演示中只显示“Firefox”,而没有版本号?它能显示版本号吗? - chobo2

0

0

0

我最终决定使用JReject。它几乎拥有Sevenup的漂亮外观,但不需要花费数小时来弄清如何使用。

http://jreject.turnwheel.com/

唯一的问题是它仍处于测试版阶段,我不知道它有多稳定,但从目前为止我所看到的来看,它相当不错。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接