2012-10-10 105 views
0

我的JavaScript只需要定位到现代浏览器(IE9,FF,Chrome等),不包括IE8和更旧版本。我一直在试验,但我不确定它是否有效(没有适当的IE测试设施)。有条件的IE浏览器状态 - 如果现代浏览器

我在想添加脚本比IE8更新,然后再对所有非IE浏览器:

<!--[if gt IE 8)]><script src="sites/all/themes/customtheme/js/custom.js" type="text/javascript" charset="utf-8"></script><![endif]--> 


<!--[if !IE]><!--><script src="sites/all/themes/customtheme/js/custom.js" type="text/javascript" charset="utf-8"></script><!--<![endif]--> 

人有用于添加到脚本到现代浏览器的任何经验或代码段,并排除IE8及以上?

+0

FF2分类为现代浏览器?你应该检测功能而不是浏览器检测。 – Petah

回答

1

你只需要一个标签:

<![if gt IE 8]> 
<script src="sites/all/themes/customtheme/js/custom.js" type="text/javascript" charset="utf-8"></script> 
<![endif]> 

IE将使用条件,只包括了IE9和后来的剧本,和其他浏览器会忽略的条件标签,当他们没有形成一个评论标记他们将包括脚本。

请参阅downlevel-revealed conditional comments

+0

完美。因此,适用于所有现代浏览器。那么我可以只添加一个特定的IE8或更旧? Like: <! - [if lte IE 8]> lata

+0

@lata:是的,正好。 – Guffa

0

虽然没有直接回答你的问题,

什么,你应该瞄准做的是功能检测一下浏览器是可以胜任的。

的Modernizr可以用很多这方面的帮助:

http://modernizr.com/

我这样说是因为已经基本上把除旧IE所有的浏览器进入所谓的“现代浏览器”一斗的时候,确实会你脚本运行在FF2或Opera上,还是我的电视?

+0

我正在做一些(显然)困难的JS,在旧版浏览器中不起作用。而且我更喜欢只为老的浏览器禁用它,而不是开始破解我的方式。 – lata

相关问题