1

我的 JavaScript 只需要针对现代浏览器(IE9、FF、Chrome 等)并且不包括 IE8 和更早版本。我一直在试验,但我不确定它是否有效(没有适当的 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 和更早版本的任何经验或代码片段?

4

3 回答 3

1

您只需要一个标签:

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

IE 将使用条件并且只包含 IE9 及更高版本的脚本,而其他浏览器将忽略条件标记,并且由于它们不形成注释标记,因此它们将包含脚本。

请参阅下层显示的条件注释

于 2012-10-10T10:49:58.423 回答
0

虽然不能直接回答您的问题,

您应该做的是功能检测浏览器的功能。

Modernizr 可以在很多方面提供帮助:

http://modernizr.com/

我这样说是因为基本上除了旧的 IE 之外的所有浏览器都放入了所谓的“现代浏览器”的桶中,你什么时候真的会在 FF2、Opera 或我的电视上运行脚本?

于 2012-10-10T10:50:13.393 回答
0

最好的方法是像你所做的那样使用条件 Css ......关于如何调用和定位每个 IE 版本有很多变化。

这个css技巧也可能有帮助

http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

希望能帮助到你。

于 2012-10-11T06:12:28.747 回答