在Internet Explorer中运行本地的“Javascript Dependant”HTML文件

4
当您使用Internet Explorer打开一个包含Javascript的本地HTML文件时,会出现一条消息,上面写着“Internet Explorer限制了此网页运行脚本或ActiveX控件”。
问题是:是否有方法可以请求IE或用户允许本地HTML文件运行javascript?
我们正在分发一张CD,其中通过AutoRun显示基于HTML的菜单。该菜单在用户的浏览器中运行,并传递有关CD内容(不是安装程序的自定义软件包)的信息。我们的菜单严重依赖JQuery,因此无法运行Javascript是不好的。我们选择使用HTML、CSS、Javascript制作菜单,以实现跨平台兼容性。
是否有自动运行本地HTML文件中的Javascript的方式在IE中?

你能否在帖子中附上IE的版本信息以及如何引导IE加载你的页面?(当你的CD显然依赖于仅适用于Windows的自动运行时,我不太确定你所说的跨平台兼容性是什么意思...?) - Mike 'Pomax' Kamermans
你想要使用“Web标记”。请参阅http://msdn.microsoft.com/en-us/library/ms537628%28v=VS.85%29.aspx了解详情,或者只需在文档类型之下、HTML起始标签之上添加以下代码: <!-- saved from url=(0014)about:internet --> - Lucas Meyer
据我所知,所有版本的IE都有此限制,因此版本无关紧要。使用HTML、CSS、Javascript的原因是我们可以快速轻松地创建交互式菜单,而不是使用Winforms、Win32、DirectX等工具。 - sazr
2
您可以将菜单封装为HTA(HTML应用程序)http://msdn.microsoft.com/en-gb/library/ms536496(v=vs.85).aspx,但这将使其失去跨平台的能力。 - NickSlash
刚回来推荐HTA作为另一个选项。可以同时包含HTML和HTA版本。 - Jeremy J Starcher
2个回答

5
你需要“Web标记”: http://msdn.microsoft.com/zh-cn/library/ms537628(v=vs.85).aspx 有三个版本:
  • <!-- saved from url=(0023)http://www.contoso.com/ -->
  • <!-- saved from url=(0014)about:internet -->
  • <!-- saved from url=(0016)http://localhost -->
格式非常特定,包括位置和必须在关闭的-->后跟换行符和回车符。
<!doctype html>
<!-- saved from url=(0023)http://www.contoso.com/ -->
<html>
  <head>
    <title>A Mark of the Web Example.</title>
  </head>
  <body>
     <p>Hello, World</p>
  </body>
</html>

它真的有效吗?我刚看到了这个部分。"为了减轻这种安全风险,Internet Explorer锁定了本地计算机区域。当用户打开HTML文档时,Internet Explorer禁止活动内容运行并显示信息栏。然后用户必须决定是否允许触发信息栏的操作。" - Alvin Wong
“只要该安全区域比本地机器区域更严格”这个警告是否不适用? - Alex W
@AlexW - 我现在不在那台机器旁边检查设置,但是它在我当前的任何设置中都可以工作。 - Jeremy J Starcher
1
很遗憾,此功能在IE 11中无法正常工作。 - Alex
如果有帮助的话...关键点:必须以回车和换行符结尾。不幸的是,我的 NP++ 设置会去掉回车,只留下 LF。幸运的是,在 NP++ 中很容易解决,转到编辑 > 行尾转换 > 选择 Windows CR LF即可。 - SlowLearner

-1

Internet Explorer 应该会询问您是否要允许它,通常通过点击该通知来完成。还有一个设置可以永久允许它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接