HTML如何检查哪个浏览器是当前正在查看的html?

时间:2012-04-19 23:22:37

标签: html browser

我需要知道我的网站正在浏览哪个浏览器,因为我知道如何执行图像和CSS的特定代码,这样的东西......

6 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

由于您的评论表明您只需要进行IE检测,因此HTML 5 Boilerplate project使用technique by Paul Irish时使用了检测IE用于CSS目的的最佳方法:

<!--[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]-->

我建议使用HTML5BP版本:

<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!-- Consider adding a manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

答案 2 :(得分:1)

您可以使用嵌入到html中的javascript检查浏览器信息。

更多细节可以例如在这里找到:

http://www.alanwood.net/demos/browserinfo.html

示例代码:(现在可以肯定)

<!DOCTYPE html>
<html>
<head><title>test</title></head>
<body>
<script>
alert(navigator.userAgent);
</script>
</body>
</html>

答案 3 :(得分:1)

这里有PHP和JavaScript类/函数。您所要做的就是谷歌相应的一个,然后根据您的喜好逐个浏览器使用它。你甚至可以更高一点,然后根据.htaccess进行操作,但总的来说取决于你在做什么时为什么等等...

总而言之,虽然一般来说缺少一些样式问题,或者一些特定的客户端脚本问题,几乎所有你用标准html做的事情都可以在所有浏览器中正常工作。

答案 4 :(得分:0)

您需要检查navigator.userAgent属性。您可以下载一些Javascript库,它们将为您执行此解析。但是,您应该知道通过解析用户代理字符串来尝试确定浏览器类型是非常不可靠的。

如果您尝试根据浏览器功能切换行为,则应检查这些特定功能,并查看它们是否在当前浏览器中启用。您可以先阅读this post on QuirksMode

其他人提到了Modernizr,它只是一个为您执行功能检测的库。这比检查浏览器的用户代理更可靠。

答案 5 :(得分:0)

使用XPath API确定浏览器引擎:

//Gecko
var gecko = (!!window.XPathExpression === true) && "gecko";
//Trident
var trident = (!!window.XPathEvaluator === false && !!window.XPathExpression === false) && "trident";
//WebKit
var webkit = (!!window.XPathEvaluator === true && !!window.XPathExpression === false) && "webkit";

var browser = (String(gecko)+String(trident)+String(webkit)).replace(/false/g,"");

使用document.documentMode来检测IE正在使用的模式。

<强>参考