Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:为IE9加载不同的样式表_Javascript_Css_Internet Explorer 9_Stylesheet_Browser Detection - Fatal编程技术网

Javascript:为IE9加载不同的样式表

Javascript:为IE9加载不同的样式表,javascript,css,internet-explorer-9,stylesheet,browser-detection,Javascript,Css,Internet Explorer 9,Stylesheet,Browser Detection,所以我想写一个函数来测试用户是否在使用IE/IE9,如果是,则有条件地加载一个单独的样式表。我已经阅读了大量的文档,但似乎找不到一个统一的、最新的(大约2011年)答案 因此,问题是: 1) 您最喜欢和最现代的浏览器检测方法是什么?检查文档。attachEvent是我使用的方法,但是有更好的方法吗 2) 基于浏览器有条件地动态更改样式表的首选方式是什么setAttribute在上不起作用,不确定如何执行此操作 提前感谢,, 丹尼斯你要找的 你可以用很多方法来做 1)CSS检查 <!--[i

所以我想写一个函数来测试用户是否在使用IE/IE9,如果是,则有条件地加载一个单独的样式表。我已经阅读了大量的文档,但似乎找不到一个统一的、最新的(大约2011年)答案

因此,问题是:

1) 您最喜欢和最现代的浏览器检测方法是什么?检查
文档。attachEvent
是我使用的方法,但是有更好的方法吗

2) 基于浏览器有条件地动态更改样式表的首选方式是什么
setAttribute
上不起作用,不确定如何执行此操作

提前感谢,, 丹尼斯

你要找的


你可以用很多方法来做

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]-->
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)使用第三方库,如

只是好奇,你为什么要为IE加载单独的样式?如果是为了解决IE的问题,你应该首先让你的核心CSS在所有浏览器中都尽可能好,因为如果你的站点在IE8/9中看起来非常糟糕,那么你的HTML/CSS中可能只有错误。除此之外,为了修复IE合法存在的问题,在HTML中围绕CSS链接的条件注释是一个比使用JS简单得多的解决方案,因此我建议研究一下这个问题。“根据浏览器动态地有条件地更改样式表的首选方法是什么?”-我宁愿不做这件事。如果您必须区分浏览器,IE几乎总是问题之子,但幸运的是它处理条件注释,因此请使用它们…这是无效的JS
var isIe9=var isIe55=
,为什么要测试appName两次?当问题是关于CSS的时候,为什么要加载Facebook名称空间呢?这里只有一个答案,如何检查IE/IE9,而不是解决全部问题,但问题是测试用户是否使用IE/IE9,并有条件地加载一个单独的样式表,如果是真的,那么答案是错的吗?提问者没有任何编程技能来用他的样式表替换facebook脚本吗?没有错,只是让人困惑。现在更好了,您修复了语法错误。我仍然只会使用
var-isIe=(navigator.appName==“Microsoft Internet Explorer”);变量isIe9=(isIe&&navigator.appVersion.indexOf(“MSIE 9”)!=-1)
var isIe = (navigator.appName == "Microsoft Internet Explorer")
var isIe9 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 9") != -1)