【问题标题】:Disable script if user browsing using IE8如果用户使用 IE8 浏览,则禁用脚本
【发布时间】:2011-10-09 11:20:17
【问题描述】:

如果用户使用 Internet Explorer 8 浏览,我想要一个 javascript 代码来禁用我制作的脚本。

【问题讨论】:

  • 一般来说“如果使用 IE8”是一个非常糟糕的决策点。 8 有什么问题,而 7 或 9 则没有?为什么你不能修复它?为什么你不能测试问题而不是浏览器?
  • 实际上我想为使用 8 及更高版本的用户禁用脚本。我在 IE7 上的脚本没有问题。如果您能帮我在所有 IE 上禁用它,我将不胜感激。谢谢
  • 为什么要禁用?您应该编写适用于所有主要浏览器的 javascript 代码,并且应该适用于 ie8 / 9 是否使用 jquery 尝试过?

标签: javascript internet-explorer internet-explorer-8


【解决方案1】:

在此处查看非常简单的解决方案How to detect IE8 using JavaScript

主要思想是运行返回当前浏览器版本的javascript函数,然后使用if, switch等条件语句构建脚本

【讨论】:

  • 只是一个链接 === 不是答案
  • @Wesley Murch:嘿,我不会在 Intrawebs 上复制粘贴内容,这是专门为此目的设计的超链接。有时超链接到一个好的解决方案比发布丑陋的代码或复制粘贴 thm 没有整篇文章注释更好,这可能是至关重要的,所以我不确定你在否决我的答案时是否正确
  • 见这里:en.wikipedia.org/wiki/Link_rot 和这里 Are answers that just contain links elsewhere really "good answers"? 和这里 Why is linking bad? 在你的答案中添加至少一些上下文是完全可以的,特别是如果你按照你的方式归因于来源。
  • 感谢您的链接,我会阅读并重新考虑我的观点
  • 此解决方案的唯一问题是所有浏览器都会受到惩罚,因为它们都必须运行该 javascript 来确定它们是否是 IE8。使用表现良好的浏览器的人(我假设 IE8 表现不佳,这就是需要停用其他脚本的原因)不应因 IE8 表现不佳而受到惩罚。
【解决方案2】:

试试这个。

用于禁用 IE 8 的脚本

<!--[if !(IE 8)]><!-->
    <script src="path/to/external/script"></script>
    <script>
        // your inline script goes here
    </script>
<!--<![endif]-->

用于禁用 IE 8 及更高版本的脚本

<!--[if !(gte IE 8)]><!-->
    <script src="path/to/external/script"></script>
    <script>
        // your inline script goes here
    </script>
<!--<![endif]-->

阅读 bobince 的回答:Conditional comment for 'Except IE8'?

【讨论】:

  • 在“路径/到/外部/脚本”中,我将用我要禁用的外部 javascript 文件替换它,对吗?我必须添加到“//你的内联脚本在这里”??我只想禁用 IE8 上的脚本
  • 这会禁用除 IE8+ 以外的其他浏览器中的调用,因此它不适用于 chrome 和 firefox:(
【解决方案3】:

执行此操作的一种方法是使用另一个脚本(包含在 IE 特定的条件 cmets 中)来停用第一个脚本。当然,这意味着您需要有某种方法来停用第一个,但这不是 IE 特定的问题。

类似这样的:

<!--[if (gte IE 8) ]><script>deactivate1stScript();</script><![endif]-->

通过使用条件 cmets,您让 IE 完成工作,其他浏览器将不必处理任何额外的 JavaScript,因为只有 IE 会注意 cmets 中的代码(特别是 IE8)

但是,我同意@Quentin 的观点,即针对特定浏览器通常不是最好的主意。如果您的脚本需要某些功能,例如 CanvasSVG 支持,则使用 Modernizr 等功能检测库是处理此问题的更好方法。

【讨论】:

    猜你喜欢
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 2015-03-22
    • 1970-01-01
    • 2014-10-08
    相关资源
    最近更新 更多