从JavaScript执行shell命令时权限被拒绝错误

时间:2012-06-07 17:48:50

标签: javascript asp.net internet-explorer internet-explorer-8 shellexecute

我正在尝试运行shell命令从JavaScript打开记事本。这就是我的代码的样子:

 <script type="text/javascript">
     function runNotepad() {
        var oShell = new ActiveXObject("Shell.Application");
        var commandtoRun = "C:\\WINDOWS\\Notepad.exe";
        oShell.ShellExecute(commandtoRun, null, "", "open", "1");
        }
 </script>

当我尝试运行此操作时,它会向我显示错误Microsoft JScript runtime error: Permission denied

我也在Allow active content to run in files on my computer设置了IE,但仍然没有运气。

知道我在这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

  

知道我在这里缺少什么吗?

没有浏览器允许JavaScript随意启动进程。由于安全隐患,Internet Explorer中不提供此功能。

如果从其他脚本主机(例如cscript,而不是Internet Explorer)运行,这将有效。

答案 1 :(得分:1)

您无法在网页javascript中运行或创建本机对象。这个想法是,如果有人可以做到这一点,那么他们可以创建一个FileSystem对象。然后,当你无聊地浏览他们的网页时,他们会对你的文件系统造成严重破坏。

如果您需要这样做,并将文件保存在主机的计算机上,请将其另存为HTML应用程序(* .hta)。