所以我想编写一个函数来测试用户是否正在使用IE / IE9并且如果为true则有条件地加载单独的样式表。已经阅读了大量的文档,但似乎没有一个单一的汇总一致和最近(大约2011年)我能找到的答案。
所以问题是:
1)您最喜欢和最现代的浏览器检测方法是什么?检查document.attachEvent
是我使用的,但有更好的方法吗?
2)根据浏览器动态有条件地更改样式表的首选方法是什么? setAttribute
无效<style>
,无法确定如何执行此操作。
提前致谢, 丹尼斯
答案 0 :(得分:4)
您正在寻找Conditional Comments
<!--[if IE 9]>
your IE9 stylesheet
<![endif]-->
答案 1 :(得分:1)
你可以通过多种方法来实现
1)CSS检查
<!--[if lt IE 7]>your stylesheet for ie < 7 <![endif]-->
<!--[if IE 7]>your stylesheet for ie7<![endif]-->
<!--[if IE 8]>your stylesheet for ie8<![endif]-->
<!--[if IE 9]>your stylesheet for ie9<![endif]-->
2)通过javascript检查
var isIe = (navigator.appName == "Microsoft Internet Explorer")
var isIe9 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 9") != -1)
3)使用第三方图书馆,例如Modernizr