2009-07-20 167 views
4

我有一个网站,我打算重做它。该网站的当前版本使用了一个jquery插件,它在IE6中并没有完全适用。这让我想起了浏览器检测。浏览器检测插件?

起初我只是把支持的浏览器放在主页上,但今天在Digg上我看到一些关于jquery插件和wordpress的文章,文章中有一个用于检测IE的插件。

于是我开始到处寻找一些浏览器插件检测。我找了几个人,但他们在那里过顶像这样的

sevenup

它不错,但它使一个巨大的弹出,并告诉他们更新。这是一个更好的,然后我发现他们基本上强迫用户更新或他们无法继续在网站上的另一个。

所以,我发现这是

jquery plugin

这一个是相当不错的,因为它看起来在主流浏览器和做对他们的检测也期待铬我注意到触发器和与此插件过时的浏览器。

所以我开始看jQuery的文档,看看他们是否有铬浏览器检测,这是当我看到他们“已过时”,现在建议“支持”。

所以,现在我只是困惑,如“支持”似乎也不错,我在这个网站看了很多帖子说你应该使用它。

但是,它不支持像.png检测这样的东西,因为这个插件可能对我有用(但是我可能不会再使用插件了,因为我认为作者刚刚放弃了它)。

另外,我不知道这是什么我在这个时候寻找。就像我用“支持”猜测的那样,你用它来检测不支持的东西,然后为该浏览器做一些替代的事情?对于我来说,我更想找点东西来告诉用户“嘿,看,我在Firefox(3.5+),IE(8+),Opera(9.5 +),Chrome(某些东西) ,Safari浏览器(东西)。如果您不使用这些版本可能不被看到的网站它是如何打算”

当然,我会尝试有一些短于该消息,但该gyst。我还假设该网站将在这些浏览器的未来版本中运行。

我还是检查,看看我的网站的工作(他们通常做的),并在IE 6像样的,但我不会花时间固定的东西,可能会关闭旧的浏览器如IE 6

我不会在Firefox等其他浏览器的旧版本中测试我的网站,因为我认为用户必须具有更新的意义,所以没有必要测试firefox 2.0或其他。

那么,有没有符合这个规则的一个插件?或者可以“支持”做我想要的吗?

感谢

回答

1

对IE6的,你可以这样做:

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

根据我的经验,大多数其他的东西正好可以通过调整CSS和东西固定。我对jquery中使用“支持”的整个举措并不感到兴奋。你可能也想看看feature detection

+0

支持,我认为这就是“支持”是。 雅我知道有办法绕过IE6,我可能会使用它们,但是就像我说过的,我不想花时间在IE6中完美地完成它,只是浪费时间,如果我们继续做下去完美的IE6他们永远不会升级。 对我来说,就像我说的浏览器检测告诉用户,我没有测试每个浏览器在阳光下的每个版本。 我也没有得到关于浏览器检测不适用于模糊浏览器的争论。我对此的回应是谁在乎?我不会为了几个人使用的模糊浏览器而走出困境。 – chobo2 2009-07-20 12:40:02

1

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

对于普通脚本,基于支持的机制“浏览器是否具有我想要的功能,而不管它自己调用什么?”做你真正想问的。

当然,在一系列浏览器中进行测试是不可替代的,以查看事情是否能够详细实现您想要的功能。

0

其实我决定去JReject。它的外观非常漂亮,但不需要花费数小时就可以知道如何使用。

http://jreject.turnwheel.com/

唯一不对的地方,它仍然是测试版,我不知道它是如何稳定可以但到目前为止,我看到它是相当不错的。