我正在更新我的网站设计,因为它在 IE10 中无法正常工作。
我使用了条件注释和 JavaScript 的组合来处理 IE 版本检测,但由于 IE10 已经放弃了前者,而且我还没有找到忽略后者的原因,所以我在这里寻求帮助。我一直在读这个帖子:
Detect IE version (prior to v9) in JavaScript
但是我对 JavaScript 的了解并不遥远,所以我不确定我是否应该修改我的代码或废弃它并采用和更改该 URL 中提到的代码(如果是这样,我如何应该这样做)。
我当前使用的代码:
<link rel="stylesheet" type="text/css" href="barebones.css">
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="ie.css">
<![endif]-->
<!--[if gt IE 8]>
<link rel="stylesheet" type="text/css" href="default.css">
<![endif]-->
<script type="text/javascript">
//<![CDATA[
var appName = window.navigator.appName;
if (appName !== "Microsoft Internet Explorer")
document.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"default.css\" \/>");//]]>
</script>
如果有帮助,我可以发布我的网站网址,但我不想让人们认为我正在尝试获得更多网站流量或其他东西。
我知道我当前使用的代码可以稍微改进一下,但我宁愿在进行 Spring 大扫除之前让事情正常工作。
不止一台机器上的 IE10 似乎完全忽略了 JavaScript,我不知道为什么。 IE9 处理得很好。
任何帮助将不胜感激。
最佳答案
处理此类问题时最好避免“浏览器检测”并进行“功能检测”
类似 http://modernizr.com/ 的库将帮助您测试浏览器兼容的特定功能,而不是绕过不同版本的浏览器。
话虽这么说,IE10 往往是一个符合标准的浏览器。您可以访问http://caniuse.com/并查找各种 JavaScript 和 CSS 功能的图表以及所有不同浏览器都支持哪些功能。
您会发现 IE10 遵循大量此类标准。
关于IE10 中的 JavaScript 浏览器检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602962/