【问题标题】:In what case does IE8 block Javascript and how to avoid it?在什么情况下 IE8 会阻止 Javascript 以及如何避免它?
【发布时间】:2009-10-07 16:58:18
【问题描述】:

我有一个使用 jQuery、jQuery 工具和一些手工制作的 JS 运行图形增强功能的网站。虽然它在 FF、Safari 和 Chrome 上运行流畅,但 IE 会阻止脚本执行:

这段代码没有什么比Netvibes 更危险的了。

为什么还要谈论 activeX ?我正在使用JS。

我该如何防止呢?我不希望我的用户点击“我允许这个网站”工作。这就像放一个大红色的绝对DIV,上面写着“活得快,永远不会回来”。

【问题讨论】:

  • 如果您通过文件系统(例如 file:///C:/example.html)而不是 Web 服务器(例如 http://server/example.html)访问页面,则屏幕截图中会出现黄色条。你能排除这种可能性吗?
  • 上帝,把它写成答案。我测试它。如果是这样,那将是 SO 历史上最快被接受的答案。
  • 他甚至没有把它写成答案:P 他是对的。
  • 这是正确的答案,但它困扰我:js 无法访问文件系统,那么有什么意义呢?

标签: javascript jquery activex internet-explorer jquery-tools


【解决方案1】:

js 无法访问文件系统,那有什么意义呢?

实际上,JS 传统上可以做一些从我的电脑区运行的坏事,比如安装 ActiveX 对象。许多过去的 IE 漏洞利用它来利用文件系统访问权限来访问任意代码。

因此,面对这个问题,Microsoft 决定解决这个问题,而不是简单地删除“我的电脑”区域 — 哦不,这太容易了 — 而是增加了一层额外的复杂性。因此,Internet Explorer 在默认情况下获得了一个选项,可以锁定文件系统中的内容,同时允许使用嵌入式 WebBrowser 控件的其他应用程序像以前一样继续运行,因为可能某些应用程序依赖于其内部 HTML 中的松散设置接口。

(它们实际上并不在消费者领域,但我们永远不知道定制企业应用程序世界中可能存在哪些污点。)

在 IE 一直被黑客入侵的尴尬之后,MS 通过使文件系统页面的锁定设置比 Internet 上的普通网页更具限制性来进行过度补偿。所以你不能从文件系统外的文件中运行 JavaScript,没有什么特别好的理由。

此时网络作者抱怨道,因此 MS 的回应不是解除过度锁定 — 哦不,这太容易了 — 而是增加了一层额外的复杂性。因此,现在您只需将其放在文件的顶部即可退出“我的电脑区”:

<!-- saved from url=(0014)about:internet -->

这个神秘的咒语被称为Mark of the Web。它末尾的换行符必须是 Windows CRLF,如果您使用普通的 LF 行尾,它会很好地为您提供支持。包含此字符串会将您置于 JScript 工作的正常 Internet 区域,但您不会获得其他特殊权限。

有趣的是,从那时起,“我的电脑”区域中的正常安全设置已经收紧,与默认的 Internet 区域几乎相同。所以最终结果就像他们刚刚摆脱了血腥的我的电脑区一样,只是给用户带来了很多额外的复杂性,并且给网络作者带来了烦恼。

非常感谢微软。

【解决方案2】:

正如 Ken Browning 在对您的问题的评论中所说,当在本地页面所在的高安全区域时,javascript 会发生此警报。

如果有人将 Internet 作为高安全区域,则会弹出警告。

您可以将 localhost 添加到 Trusted Sites Zone

【讨论】:

  • 澄清一下:IE 将本地文件默认为“高安全性”,因为很容易让某人下载文件然后在他们的机器上本地打开它,从而使病毒和网络钓鱼变得更加容易。默认情况下,“Internet”不是高安全区域,因此 JS 通常不会被阻止。如果用户将“Internet”设置为高安全区域,则任何带有 JS 的页面将始终显示该消息并阻止 JS/ActiveX。
  • 就是这样!如果肯想要回答,我会稍等一下,因为他应该“接受”
  • 没关系,反正我在哪里会说同样的话,他只是打败了我:)
  • 好答案。如果我知道@jakeisonline 与我们分享的知识,我会发布答案。
猜你喜欢
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 2019-06-13
  • 2011-05-01
  • 2017-10-12
  • 1970-01-01
  • 2011-06-24
相关资源
最近更新 更多