jQuery浏览器检测?

Dan*_*cer 19 javascript jquery internet-explorer

有没有一种很好的方法来检测用户的浏览器是否是使用jQuery的Internet Explorer?

我有使用IE的PNG图形问题,并且只有当用户使用IE查看网站时才想将它们换成GIF.

Nic*_*ver 21

可以使用$.browser,是的,但使用浏览器检测是个坏主意:

if($.browser.msie) { /* IE */ }
Run Code Online (Sandbox Code Playgroud)

例如,更好的选择$.support功能检测,如下所示:

if(!$.support.opacity) { /* IE 6-8 */ }
Run Code Online (Sandbox Code Playgroud)

$.support.opacity在不支持opacity样式的浏览器中是假的(虽然IE 7-8处理透明的PNG文件,所以这仍然不理想,取决于你所追求的......我个人认为你会给IE 7/8个用户的次优体验).

你应该真正做的是目标IE6它支持透明的PNG(无alpha滤镜),就像这样:

<!--[if IE 6]>
  <link rel="stylesheet" type="text/css" href="IE6ImageStyles.css">
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

  • 必须有jquery迁移插件jquery> 1.9才能工作.因为这种方法已被弃用 (4认同)

Spi*_*man 7

是的,你可以,但他们更喜欢你使用jQuery.support:http://api.jquery.com/jQuery.support/.

在这种情况下,使用jQuery.support.opacity.

编辑:假设这是关于不透明度,当然.