c00*_*0fd 3 html javascript internet-explorer conditional-comments internet-explorer-10
通过在HTML中使用此技术,曾经有一种很好的方式来判断Web浏览器是否为IE:
<!--[if IE]>
Non-IE browsers ignore this
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
要么
<!--[if !IE]-->
IE ignores this
<!--[endif]-->
Run Code Online (Sandbox Code Playgroud)
但这在IE 10 中不再起作用.
不知道该用什么代替从其他网络浏览器(使用HTML或JavaScript)告诉IE?
PS.我需要能够从非IE网络浏览器告诉任何版本的IE.
我很欣赏你的所有见解,但没有一个能回答我的实际问题.同样,我不是在询问功能检测.我需要知道的是,网络浏览器是否是IE浏览器.以下使用JavaScript,似乎适用于所有当前版本的IE(包括IE10):
<![if IE]>
<script type='text/javascript'>
if(/*@cc_on!@*/false)
var bIsIE = 1;
</script>
<![endif]>
Run Code Online (Sandbox Code Playgroud)
然后检查它是否是IE,从JavaScript执行此操作:
if (typeof (bIsIE) != 'undefined')
{
//The web browser is IE
}
else
{
//The web browser is not IE
}
Run Code Online (Sandbox Code Playgroud)
显然,上面的代码假定Web浏览器启用了JavaScript.但就我而言,浏览器检测只有在启用了脚本时才有意义.
Internet Explorer的每个版本都与其他版本不同,就像Chrome,Firefox和Opera的每个版本都不同于其先前版本一样。在开发网站时,您不会针对“ Microsoft”,“ Google”或“ Mozilla”之类的供应商,而是针对功能。
而不是询问“ 我想使用:: after,此浏览器是Microsoft浏览器吗? ”而是应该询问“ 此浏览器是否支持::: prefix上的伪元素? ”这是功能检测,几乎总是完美地对准目标。您无需猜测浏览器的功能,而是可以根据浏览器的实际功能确定其功能。
这可能不是您要找的答案,但是它仍然是正确的答案。如果您询问如何识别所有Microsoft浏览器,则表示您错误地解决了该问题(或您认为的问题)。
对于适当的解决方案,我鼓励您使用jQuery和Modernizr之类的工具。这些将处理API规范化,旧版浏览器中的新元素填充以及功能检测。这是正确的处理方式,如果开发人员从一开始就采用这种方法,那么您今天可能对Internet Explorer并不感到厌恶。