在某些情况下,例如特定于Internet Explorer的CSS或特定于Internet Explorer的JavaScript代码,如何仅将Internet Explorer 10定位?
我试过了,但是不起作用:
<!--[if IE 10]> <html class="no-js ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Internet Explorer 10忽略条件注释,并使用<html lang="en" class="no-js">
代替<html class="no-js ie10" lang="en">
。
<script>if(Function('/*@cc_on return document.documentMode===10@*/')()){document.documentElement.className+=' ie10';}</script>
改进:不需要条件注释;即使注释条压缩/处理也有效;没有为ie11添加任何类;将与在ie10兼容模式下运行的ie11一起使用;不需要独立的脚本标签(可以直接添加到其他javascript脚本中)。
if(document.documentMode) document.documentElement.className+=' ie'+document.documentMode+'mode';
-解决了90%的问题(有时兼容模式会失败,在这种情况下,您需要在此之上进行另一级别的修复)。