The*_*ker 22 html internet-explorer conditional comments
我一直在疯狂地试图让评论条件工作,我没有运气,有人可以解释我做错了什么吗?
这是我的代码:
<!--[if IE 10]>
IE IS VERSION 10<br />
<![endif]-->
<!--[if !IE]><!-->
Browser is not IE
<!--<![endif]-->
<!--[if lt IE 9]>
IE IS LESS THAN VERSION 9<br />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
发生的事情是令人沮丧的不一致.当我在IE8中加载带有上述代码的页面时,它会收到消息"IE不仅仅是版本9"这么好吗?不,因为当我在IE10中加载SAME PAGE时,我收到消息 "浏览器不是IE"
为什么它认为IE10不是IE浏览器?!我一直在页面爬行,但我的代码似乎没有任何问题.
Max*_*mus 22
我很惊讶没有人添加css解决方案.如果你只想使用css,那么使用如下语句:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* Put your IE-only styles here. Works for IS 10 & IE 11*/
}
Run Code Online (Sandbox Code Playgroud)
这样您就不必依赖jquery或任何html标记.只需将它发布在CSS中即可.
现在,这是一个黑客?有可能.这取决于使用微软高对比度标签,但由于没有其他浏览器使用ms标签,那么你应该好好去.
最后,查看这些页面以获取更多信息:
Zah*_*med 21
CSS解决方案:
如果您只想在浏览器上应用CSS,那么您可以尝试:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* Put your IE-only styles here. Works for IS 10 & IE 11*/
}
Run Code Online (Sandbox Code Playgroud)
JavaScript解决方案:
IE 10不支持条件语句.
Internet Explorer 10中的条件语句.它会将条件注释视为常规HTML注释,并完全忽略.
使用功能检测库(如Modernizr)而不是浏览器检测.
在这篇评论中找到了关于incredwebs的解决方案:
解决方案是:
if (Function('/*@cc_on return document.documentMode===10@*/')()) {
alert('IE 10');
} else {
alert('Not IE 10');
}
Run Code Online (Sandbox Code Playgroud)
它
| 归档时间: |
|
| 查看次数: |
37588 次 |
| 最近记录: |