为了检测IE大多数JavaScript libaries做各种技巧。 jQuery似乎添加一个临时对象到你的页面的DOM来检测一些function, YUI2在用户代理上执行YAHOO.env.ua = function() (文件yahoo.js ) 在阅读这个答案后,我想起它是真的,为了简单地检测IE中的IE我们可以简单地添加到我们的页面: <!–[if IE]><script type="text/javascript">window['isIE'] = true;</script><![endif]–> <script type="text/javascript" src="all-your-other-scripts-here.js"></script> 现在, window.isIEvariables被设置为我们所有的Javascript代码,只需要做: if(window.isIE) … 除了这可能导致一个痛苦,因为它必须被添加到所有页面, 有没有我可能不知道的任何问题/考虑因素? 仅供参考:我知道最好使用对象检测而不是浏览器检测 ,但有些情况下您仍然需要使用浏览器检测。
我正在使用新的Internet Explorer 11开发人员工具将文档模式切换为“8”,但条件注释仍然被忽略,也就是说,它们没有正确parsing并且行为与正常注释类似。 因此,条件注释内的任何引用文件都不会被浏览器请求/加载。 为什么会发生? 这是一个错误? 如果您认为这确实是一个需要修复的错误,请进入,并说您也可以在针对此问题报告的Microsoft错误报告中重现此问题: 通过F12 Developer Tools模拟文档模式时,条件注释不起作用 。 更新:此问题已被报告在上述错误报告中修复。
我遇到了麻烦 <!–[if !IE]> 上class。 我想知道是否因为我在文档中有这个 <!doctype html> <!–[if lt IE 7]> <html class="ie6 oldie"> <![endif]–> <!–[if IE 7]> <html class="ie7 oldie"> <![endif]–> <!–[if IE 8]> <html class="ie8 oldie"> <![endif]–> <!–[if gt IE 8]><!–> <html class=""> <!–<![endif]–> 当我添加 <!–[if !IE]><!–> <link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" /> <!–<![endif]–> 到我的头由于某种原因,它不起作用。 但是,如果我添加 <!–[if !IE]><!–> <style> All my css in here […]