![IE8 拒绝从本地硬盘运行 Javascript](https://linux22.com/image/1226251/IE8%20%E6%8B%92%E7%BB%9D%E4%BB%8E%E6%9C%AC%E5%9C%B0%E7%A1%AC%E7%9B%98%E8%BF%90%E8%A1%8C%20Javascript.png)
我最近在工作中遇到了一个问题,网络管理员确信他没有对组策略进行任何更改。无论如何,以下是该问题的详细描述。
我的机器是 Windows XP SP3,我使用 IE8 浏览。我们有 McAffee 防病毒软件,我无法配置。我使用以下文件进行测试...
<!DOCTYPE html>
<html>
<head>
<title>Javascript Test</title>
</head>
<body>
<script type="text/javascript">
document.write("<h1>PASS</h1>");
</script>
<noscript>
<h1>FAIL</h1>
</noscript>
</body>
</html>
当我从 C: 驱动器打开此文件时,失败每次。如果我在其他任何地方(本地/远程 Web 服务器或映射的网络驱动器上)执行它,它都可以正常工作。当我只是浏览互联网时,网站上的 Javascript 可以正常工作。它是仅有的运行 C: 驱动器上的文件失败。此外,我让部门里的其他几位程序员在他们的 C: 驱动器上尝试过这个文件,而且运行正常。因此,我不认为这是组策略的问题。
我需要修复这个问题,因为我从 C: 驱动器进行大量测试,并且我已经习惯这样做了。我不想养成为了测试而将文件移动到其他驱动器的习惯。
我尝试过的事情:
- 在选项|高级|安全中启用“允许活动内容在我的计算机上运行文件”
- 在选项 | 安全 | 自定义级别中启用“允许活动脚本”
- 已验证开发者工具栏中未将“脚本”选中为已禁用
- 在选项中将 localhost 添加到受信任的站点
- 完全禁用 McAffee(暂时,在网络管理员的帮助下)
- 在我的测试 HTML 页面中使用较旧的 DOCTYPE
- 完全重新安装 IE8
regsvr32
在 JScript.dll 上运行- 键盘被猛击
我确信某个地方有一个设置可以解决这个问题,可能是在注册表中。如果它与开发人员工具栏有关,我不会感到惊讶。目前我不知道还能去哪里找。
有人能帮我解决这个问题吗?
编辑: 无论赏金多少,这个问题仍然存在。
答案1
打开注册表项
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\n
n
区域索引为,其中表示0
。My Computer
此区域在 Internet 选项中不可用。将值设置1400
为0
以启用 Javascript。
答案2
您是否尝试过在 HTML 源代码中添加“Web 标记”?
只需添加类似以下内容:
<!DOCTYPE html>
<!-- saved from url=(0021)http://www.google.com -->
<html>
Web 标记位于 DOCTYPE 标签之后,单独占一行,就在 之前<html>
。
看MSDN 文档网络标志以获得全力帮助。
答案3
如果计算机受公司安全策略约束,您可以考虑设置虚拟机(例如虚拟盒或者微软虚拟电脑) 来测试你的 java 脚本。
微软提供了多种预激活的虚拟硬盘(可与 VirtualBox 和 VPC 配合使用),适用于 Vista 或 XP 以及 IE6、7 和 8。Internet Explorer 应用程序兼容性 VPC 映像都是免费的,当前套装有效期至 2010 年 4 月 1 日。
答案4
以下两个想法或许能有所帮助:
将其重命名为 test.hta - 这会将其作为 HTML 应用程序启动,而不仅仅是纯 HTML。您可能需要在 HEAD 元素内添加带有一些属性的 <HTA:APPLICATION> - 但它应该可以正常工作。您可以在此处阅读有关 HTA 的更多信息:http://msdn.microsoft.com/en-us/library/ms536496.aspx
您是否可以使用本地 Web 服务器来解决文件系统问题?如果您要安装 Visual Web Developer Express,它会附带一个可用于测试的 Web 服务器,或者您可以随时安装 IIS(如果是 WinXP Pro)、Apache 等。