随着 Internet Explorer 放弃使用条件语句,我对如何将元素或样式单独应用到 IE 感到困惑。这不再适用于 IE10:
<!--[if IE]>
<![endif]-->
所以这是一个蓝色和红色框的jsfiddle:http: //jsfiddle.net/74yK9/1/
如何使蓝色框仅出现在 Internet Explorer(所有版本)中?
随着 Internet Explorer 放弃使用条件语句,我对如何将元素或样式单独应用到 IE 感到困惑。这不再适用于 IE10:
<!--[if IE]>
<![endif]-->
所以这是一个蓝色和红色框的jsfiddle:http: //jsfiddle.net/74yK9/1/
如何使蓝色框仅出现在 Internet Explorer(所有版本)中?
您可以使用 jQuery 执行此操作,不要忘记也包含jQuery Migrate 插件:
if ($.browser.msie) {
// For IE only
$('#bluebox').show();
} else {
// all other browsers
$('#bluebox').hide();
}
使用 Javascript,您可以使用仅在 IE 中可用的条件编译:
if (Function('/*@cc_on return true@*/')()) {
// Is IE
}
所以使用它的方式是这样的:
var isIE = false;
if (Function('/*@cc_on return true@*/')()) {
isIE = true;
// or
document.documentElement.className += " isIE";
}
这会在 Javascript 中设置一个布尔值和/或isIE
向您的元素添加一个类<html>
......这将是<html class="isIE">
. 所以这意味着你可以检查isIE
Javacript 中的布尔值,或者基于class
类似的样式:
html.isIE body {
color: #111; /* Only applied for IE*/
}
这使用特征检测(某种)并且不使用userAgent
嗅探。userAgent
嗅探是一种选择,但不可靠,并且在现代 jQuery 中已弃用/删除。
有关条件编译的更多信息:http ://www.javascriptkit.com/javatutors/conditionalcompile.shtml和http://msdn.microsoft.com/en-us/library/ie/121hztk3%28v=vs.94% 29.aspx