Vb 的 CreateObject 的替代方案是 Javascript 中的 ActiveXObject 不起作用

Posted

技术标签:

【中文标题】Vb 的 CreateObject 的替代方案是 Javascript 中的 ActiveXObject 不起作用【英文标题】:Alternative of CreateObject of Vb is ActiveXObject in Javascript not working 【发布时间】:2016-10-01 11:57:17 【问题描述】:

我使用 VB 脚本编写的工作 html 页面,在这里单击 Button 文档会打开。 CreateObject 在这里工作正常。

Sub Opensig_OnClick()  
  Dim laccno  
  Dim accno  
  laccno = txtaccno.value  
  Set sigobj = CreateObject("Wrsrv.Document")  
  reStatus = sigobj.Verify(laccno,amt,1)
End Sub

但是我必须在 JSP 中编写 ActiveXObject 不起作用的代码。我写的代码:

function Opensig_OnClick(customerId) 
    var str;
    $.ajax(
        url: getContextPath() + "/app/omnidocupload/appDocument/sigcap/accountnumberforsalaryaccount/" + customerId,
        async: true,
        data: 
            custId: customerId
        ,
        success: function(responseObject) 
            str = responseObject;
        
    );
    var sigobj = new ActiveXObject("Wrsrv.Document");
    var reststus = sigobj.verify(str, 0, 1);

点击按钮,函数Opensig_OnClick被调用。但我在 var sigobj= new ActiveXObject("Wrsrv.Document"); 行出现错误,即 Automation Server 无法创建对象

【问题讨论】:

ActiveXObject 仅在 Internet Explorer 中受支持 ***.com/questions/25311570/activexobject-in-ie11 我在 IE 8 中运行了这段代码,并在阅读其他帖子时启用了所有 ActiveXObject 设置。仍然会出现这个错误。你能建议在 javascipt 中编写这个 vbscript 的任何其他方式吗? 在ie11上运行程序时实际设置模式为ie 8 按照建议进行的更改仍然无效 您对异步代码的工作方式感到困惑。在您的代码中,str 将不包含行 var reststus = sigobj.verify(str, 0, 1); 上的任何值。将最后两行移到 success 回调中。 【参考方案1】:

在 Internet 选项 -> 安全 -> 自定义级别的 ActiveX 控件和插件中完成以下设置后,按钮工作正常。

    允许禁用 ActiveX 过滤。

    使 ActiveX 的所有其他属性在此处显示为 Enable 。 特别是下载未签名的 ActiveX 控件和初始化和脚本 ActiveX 控件未标记为安全。

在启用所有这些功能时。您将收到您的计算机存在风险的消息。但是要运行这个你必须这个设置。

这只会在 IE8 上运行。

【讨论】:

以上是关于Vb 的 CreateObject 的替代方案是 Javascript 中的 ActiveXObject 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

vb.net中怎么使用createobject添加类呢,就好像vb中一样

VB createobject怎么用,请举例说明!

VB.NET - Visual Studio 2003 的“继续”的替代方案

vb CreateObject()是啥

关于 VB6/VBA 中 CreateObject() 的问题

是否有 VB.Net 替代方案可以跳过没有 GoTo Next 的控制块? [复制]