Javascript 确定浏览器是否为IE的最简单和最好的方法是什么?

Javascript 确定浏览器是否为IE的最简单和最好的方法是什么?,javascript,jquery,Javascript,Jquery,(不在乎版本。IE与否)(IE) $。同时,浏览器已被弃用,但尚未停用$。应改用支持。示例:$.support.boxModel 警报(navigator.appName); 这回复为“netscape”(用于Firefox)或“Microsoft Internet Explorer”(当我尝试IE7时,而不是尝试其他平台) 例如,有关更多信息,请参见下面的链接 这里有一个相同类型的“如果”/“其他”结构 <html> <head> </head> <

(不在乎版本。IE与否)(IE)

$。同时,浏览器
已被弃用,但尚未停用<代码>$。应改用支持。示例:
$.support.boxModel


警报(navigator.appName);
这回复为“netscape”(用于Firefox)或“Microsoft Internet Explorer”(当我尝试IE7时,而不是尝试其他平台)

例如,有关更多信息,请参见下面的链接

这里有一个相同类型的“如果”/“其他”结构

<html>
<head>
</head>
<body>
<script type="text/javascript">
    if (navigator.appName=="Microsoft Internet Explorer") {
        alert("This is IE!");
    }
    else {
        alert("This is not IE!");
    }
</script>
</body>
</html>

如果(navigator.appName==“Microsoft Internet Explorer”){
警惕(“这是IE!”);
}
否则{
警惕(“这不是IE!”);
}
实际上,您可能应该选择另一篇文章:坚持使用像jquery这样的知名库来整理所有的边缘案例

虽然这不是“最简单”的方法,但这里有一个非常好的页面,可以帮助进行浏览器检测


对W3C来说是的。

我不会通过浏览器嗅探(即直接或通过Javascript框架)来实现,因为用户代理字符串很容易伪造(在这些情况下,取决于Javascript,Javascript可以关闭)



在这种情况下(即或不是),我会在你的HTML中使用。无论是否启用JavaScript,它们都会一直工作。

我认为您不想发送警报窗口。@Jeremy:我不认为这是重点。通过使用alert,OP可以尝试并查看appName在不同浏览器中的值。然后他可以在实际代码中使用这个变量。是的,警报只是一个例子——但为了清晰起见,我现在加入了一个“if”/“else”。我认为OP在任何情况下都希望jquery出现在这里。(我最初没有注意到标签)。+1对于jquery-省去跨浏览器支持的麻烦!我添加了一篇帖子来提供更多信息,但这确实是最好的答案。用户代理字符串很容易伪造,至少在Opera和Safari中是这样。@Marcel-RE:伪造的用户代理-但这只是HTTP的本质;尽管正如jQuery文档指出的那样,在大多数情况下,您需要的是功能检测,而不是浏览器检测。当然,除非你只是用浏览器检测来提醒人们升级到一个好的浏览器。w3schools的+1——网络真正的奇迹之一!嗯,链接不起作用,目前…@Marcel-对我有效-你确定网站没有阻止你查看页面,因为你有一个伪造的用户代理字符串???:)不,哈哈。不在Firefox、Chrome和Opera中。但可能是因为我现在使用的是Windows,而不是以前使用的Linux(没有火焰战争的意图)从来都不知道这些-有趣+1。代理字符串确实是可以伪造的(事实上Opera过去有伪装成IE的选项):但是broswer嗅探的主要目的是提供用户浏览器上的预期工作:如果他们撒谎,那就是他们的了望——我完全同意你关于javascript的观点——可能是最好的途径(尽管仍然不完美)是在服务器端进行检查。[我认为这些条件注释是什么?]但是,如果你不想使用JavaScript,就不需要在浏览器之间有太大的区别。对于CSS,你会使用依赖于CSS浏览器的黑客。@powtac-假设大多数人使用“现代”浏览器,那么我同意你的看法,但作为pendantic,旧浏览器对HTML的呈现方式也有不同的想法(例如,甚至有他们的特殊标记“”)@monojohnny:不,条件注释在HTML中位于客户端。我认为最好进行功能检测,如描述。这样,您总是可以确定想要的函数存在。您可以使用条件注释在IE和其他浏览器上包含不同的
标记。然后您可以使用
body.ie6之类的规则。什么{…}
用于CSS修复,没有黑客攻击。您使用任何特定语言吗?以上都是JavaScript(或框架)。问题被标记为JavaScript。
<html>
<head>
</head>
<body>
<script type="text/javascript">
    alert(navigator.appName);
</script>
</body>
</html>
<html>
<head>
</head>
<body>
<script type="text/javascript">
    if (navigator.appName=="Microsoft Internet Explorer") {
        alert("This is IE!");
    }
    else {
        alert("This is not IE!");
    }
</script>
</body>
</html>