Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ActiveXObject创建错误“;自动化服务器可以';“创建对象”;_Javascript_Internet Explorer_Activex - Fatal编程技术网

Javascript ActiveXObject创建错误“;自动化服务器可以';“创建对象”;

Javascript ActiveXObject创建错误“;自动化服务器可以';“创建对象”;,javascript,internet-explorer,activex,Javascript,Internet Explorer,Activex,我有一个非常简单的javascript代码 <script language="javascript"> function RunExe() { w = new ActiveXObject("WScript.Shell"); w.run('notepad.exe'); return true; } </script>

我有一个非常简单的javascript代码

<script language="javascript">          
         function RunExe()   
         {  
           w = new ActiveXObject("WScript.Shell");
           w.run('notepad.exe');
           return true;

         }  
</script>
    <form id="form1">
    <div>
      <input type="button" value="Run" onclick="return RunExe()" />
    </div>
    </form>

函数RunExe()
{  
w=新的ActiveXObject(“WScript.Shell”);
w、 运行('notepad.exe');
返回true;
}  
它创建了一个activeX对象来运行notepad.exe,如果我把它保存在一个普通的html中并在IE中运行,打开记事本就可以了,但是如果我把它插入一个aspx页面并运行它,就会出现一个名为“自动化服务器无法创建对象”的错误,我用谷歌搜索了很多次,但是IE安全方面的事情我已经做过了,我认为这是ASP或IIS中我无法理解的东西

你的建议和意见非常值得赞赏


Thanx

要想让它起作用,你必须非常非常放松你的安全设置(通常不推荐)

您需要将网站添加到“受信任区域”,然后进入自定义设置(向下滚动约1/2页)并更改:

ActiveX控件和插件 -启用(或提示)。。。适用于您的代码的任何设置(我认为最后一个是您正在点击的设置) --“为标记为安全的ActiveX控件编写脚本*”


所有这些都说明了,除非你有一个非常非常好的理由这么做-你正在打开浏览器安全的一个大“漏洞”。。。非常小心地走。。。不要期望其他最终用户也愿意这样做。

您不能从记事本运行代码,这意味着您正在从文件系统打开页面。又名c:/foo/bar/hello.html

从asp.net页面运行代码时,您是从localhost运行代码。阿卡


每个都在IE上的不同安全区域运行。

我有相同的问题,通过注册dll解决了这个问题


在project properties=>build=>register for COM interop=>check it

中,我也遇到了同样的问题并解决了它。 请通过链接

将您的站点添加到受信任区域,并在ie中更改以下选项 工具菜单->Internet选项->安全->自定义级别->“初始化和编写未标记为脚本安全的ActiveX控件”


这是由internet explorer的安全设置引起的。您可以通过更改internet explorer设置来解决此问题。转到“设置->internet选项->安全选项卡”。您将看到不同的区域:i)Internet ii)本地Intranet iii)受信任的站点iv)受限制的站点。根据您的要求选择一个区域。我正在本地主机上运行我的应用程序,所以我选择了本地intranet,然后单击“自定义级别”按钮。它将打开“安全设置”窗口。请启用未标记为脚本安全选项的Activex控件的初始化和脚本编写。它应该可以工作


此错误是由web应用程序和java之间的安全离合器引起的。要解决这个问题,请查看控制面板下的java设置。将安全级别移动到中等级别

通常与IIS或服务器端无关,似乎.NET人员在遇到浏览器问题时总是责怪IIS或服务器端代码。:)删除了不好的标记。但我几乎不认为这是浏览器问题,因为我可以在普通html代码中运行相同的代码,我已经在问题中提到过。这就是为什么我怀疑这是一个问题以外的浏览器security@AsankaActiveX问题通常与浏览器安全相关。是的,但我已经启用了这些设置(这就是为什么普通html页面的ActiveX控件工作正常,正如我在问题中提到的…),当我在驻留在IIS下的aspx页面中插入此脚本时,会出现此问题。有什么想法吗?…@Asanka-正如@epascarello提到的,代码片段中没有任何内容会受到您正在使用的web/app服务器的影响。如果脚本标记的输出如上面所述进入HTML,那么它是否正确执行完全取决于浏览器。如果脚本执行,将出现“无法创建”错误。。。但是您不能创建ActiveX对象。只有两个原因你不能。。。1.)对象类型不存在(例如,名称中的输入错误)或2.)您没有此用户在此网站上此区域的权限。