如何使用jQuery检测浏览器?

时间:2015-06-06 11:27:10

标签: jquery

我遇到了一个由jQuery实现的css的问题,css在mozilla中运行良好但在chrome中没有工作,所以需要根据浏览器在JQUERY中对css进行更改

任何人都可以帮助我获取浏览器,无论是firefox,chrome还是其他任何内容。

 if ($browserFirefox) {
    ....code 
    $('#test').css("margin-top","10%");
 }
 if ($browserChorme) {
   code goes here
 }
 if ($browserXYZ) {
   code goes here
 }

6 个答案:

答案 0 :(得分:7)

使用navigator.userAgent获取浏览器信息,例如:

if (navigator.userAgent.search("MSIE") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Chrome") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Firefox") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0) {
    //code goes here
}
else if (navigator.userAgent.search("Opera") >= 0) {
    //code goes here
}

答案 1 :(得分:0)

您可以使用$.browser

if($.browser.mozzila){
}

但是,我强烈建议您尝试提出跨浏览器解决方案。用户代理嗅探不是推荐的方法,因为它可以轻松破解(想想相同浏览器的多个版本)。

请参阅Downsides of using the navigator object / user-agent sniffing for detecting IE versionsBrowser Detection (and What to Do Instead)

<强>更新 对于jQuery&gt; 1.9

  

此属性已在jQuery 1.9中删除,仅可通过   jQuery.migrate插件。请尝试使用功能检测

答案 2 :(得分:0)

您可能也可以在css中修复问题,而不是使用脚本。查看http://browserhacks.com/以了解特定于浏览器的定位信息。你仍然可以使用jquery在其上放置一个特定的类,但然后在你的css中以不同的方式声明事物

答案 3 :(得分:0)

这可以通过jQuery.browser property

来实现
if ($.browser.msie) {
    ....code 
    $('#test').css("margin-top","10%");
 }
 if ($.browser.webkit) {
   code goes here
 }
 if ($.browser.mozilla) {
   code goes here
 }

应该做的工作。

答案 4 :(得分:0)

如果您需要使用不同浏览器对css进行更改,则可以轻松地遵循打击代码

if Webkit (Safari/Chrome) {

 #myDIV {margin-top:-3px}

 } else if (Firefox) {

 #myDIV {margin-top:0px}

 } else { // IE and other browsers

  #myDIV {margin-top:1px}
 }

虽然在Jquery的级别中你可以使用jquery.browser。看看这个 http://api.jquery.com/jquery.browser/

答案 5 :(得分:0)

为了更好地利用@Nikhil Butani的答案。 快乐的编码;)

if (navigator.userAgent.search("MSIE") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Chrome") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Firefox") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0) {
    //code goes here
}
else if (navigator.userAgent.search("Opera") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("NET") >= 0) {
    //code goes here
}
else if (navigator.userAgent.search("Edge") >= 0) {
    //code goes here
}