【发布时间】:2013-06-16 03:05:28
【问题描述】:
如果浏览器是 IE,则尝试让页面加载不同的 js 文件,但如果是任何其他浏览器,则尝试加载不同的 js 文件。我已经破坏了这个,但它不起作用,有人有什么想法吗?
感谢任何帮助:
<script type="text/javascript">
var ie = false;
</script>
<!--[if IE]>
<script type="text/javascript">
ie = true;
</script>
<![endif]-->
<script type="text/javascript">
if(ie == false)
{
document.write ("<script src="js/moreskins.js" type="text/javascript">")</script>;
} else {
document.write ("<script src="js/ieskins.js" type="text/javascript">")</script>;
}
</script>
【问题讨论】:
-
作为@Teemu noted,IE10 不支持条件cmets。 @UmairP's Answer 可能是针对 IE
-
@ZachL 好吧,这是可以使用
document.write()的极少数情况之一,我们不要破坏乐趣; )。无论如何,UmairP 答案的编辑部分确实是 OP 应该使用的方法,我刚刚指出,是什么让 OP 的代码不起作用...... -
@ZachL 我用它来修复 IE Canvas 标签中的渲染错误。我刚刚在我正在构建的网站上放了几个时钟,但是在 IE 中,它使线条比其他所有浏览器都细得多,所以我通过加载具有较粗线条的 IE 特定 javascript 来修复它。使用 CoolClock。
-
@JamesJ 啊,我明白了。 确实 在 IE 中看起来一团糟。但是,您可能会考虑,未来版本的 IE 可能不会有同样的“错误”,因此这种条件逻辑可能会为将来的问题做好准备。如果我是你,我可能会选择一个不同的时钟。 CoolClock 已经 3 年多没有更新了(这只是 2007 年代码库之上的一些修复。我确信那里有更好的东西,维护得更好,不需要黑客或浏览器检测。跨度>
-
好吧,找到这样一个时钟并不像我想象的那么容易,但我确实找到了这个:jsfiddle.net/molokoloco/V2rFN
标签: javascript internet-explorer selection