如何使用JQuery或JavaScript简单地检测浏览器类型?

时间:2013-11-29 00:17:04

标签: javascript internet-explorer cross-browser

我使用的Java脚本lastIndexOf()在IE中不起作用,所以我必须编写替代代码。

我只想要一个if语句来做类似的事情:

if(IE = true){
  //run alternative to lastIndexOf()
}

但我真的很想找到实现这个目标的方法。

到目前为止,我已尝试过以下内容:

JQuery的.browser已被弃用。

.support似乎只检测某些方面或特征    浏览器。

使用JavaScript修改.supporthere,无法正常工作    抛出错误。

hasClass()方法不再有效:

<!--[if lt IE 7]>      <html class="ie6"> <![endif]-->
<!--[if IE 7]>         <html class="ie7"> <![endif]-->
<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->
if ($('html').hasClass('ie7');

有人会知道一种只检测浏览器类型的简单方法吗?

2 个答案:

答案 0 :(得分:4)

有些情况下您别无选择,只能使用浏览器检测,但在这种情况下,如果您检测到函数本身,shim it in if it is not there会更好。

答案 1 :(得分:-2)

修改:解决问题的最佳方法由MDN提供。


How can you detect the version of a browser?有一种非常好的方法可以将浏览器类型和版本作为字符串。

您可能还会发现Detect IE version (prior to v9) in JavaScript对IE特定检测很有帮助。

您也可以尝试:

if (navigator.userAgent.indexOf("MSIE") > 0 )

我没有测试过这个。