gpt4 book ai didi

javascript - IE8 在什么情况下会阻止 Javascript?如何避免?

转载 作者:行者123 更新时间:2023-12-01 01:57:58 25 4
gpt4 key购买 nike

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

alt text

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

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

我怎样才能防止这种情况发生?我不希望我的用户点击“我允许该网站”运行。这就像放一个大红色的绝对DIV,上面写着“快点活下去,永远不会回来”。

最佳答案

js can't access the filesystem, so what's so point ?

实际上,传统上,JS 会在“我的电脑区域”运行时做一些不好的事情,例如安装 ActiveX 对象。过去的许多 IE 漏洞利用这一点来利用文件系统访问进行任意代码访问。

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

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

在经历了 IE 不断被黑客攻击的尴尬之后,微软做出了过度补偿,对文件系统页面的锁定设置比互联网上的普通网页更加严格。因此,您无法从文件系统之外的文件运行 JavaScript,没有什么特别好的理由。

此时,网络作者提示不已,因此微软的回应不是取消过度的锁定——“哦不,那太容易了”,而是增加了一层额外的复杂性。因此,现在您只需将其放在文件顶部即可退出“我的电脑”区域:

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

这个神秘的咒语被称为 Mark of the Web 。它末尾的换行符必须是 Windows CRLF,如果您使用普通的 LF 行结尾,它会很好地帮助您。包含此字符串将使您进入 JScript 工作的正常 Internet 区域,但您没有其他特殊权限。

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

非常感谢微软。

关于javascript - IE8 在什么情况下会阻止 Javascript?如何避免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com