在JavaScript中使用枚举器

在JavaScript中使用枚举器,javascript,internet-explorer,vbscript,activex,Javascript,Internet Explorer,Vbscript,Activex,我有以下VBScript代码,我想用JavaScript表示: Sub GxUIProxyVB_OnLogon Dim EntityProxy For Each EntityProxy In GxUIProxyVB.ListEntityProxy MsgBox EntityProxy.Name Next End Sub 要提供上下文,此代码是ActiveX控件登录事件的登录后事件处理程序。ActiveX控件位于Internet Explor

我有以下VBScript代码,我想用JavaScript表示:

Sub GxUIProxyVB_OnLogon 

    Dim EntityProxy

    For Each EntityProxy In GxUIProxyVB.ListEntityProxy 
        MsgBox EntityProxy.Name 
    Next 

End Sub
要提供上下文,此代码是ActiveX控件登录事件的登录后事件处理程序。ActiveX控件位于Internet Explorer 8中运行的网页中。网页用户通过ActiveX控件的登录机制成功登录,从而触发此代码的执行

在代码GxUIProxyVB中,是通过HTML元素嵌入DOM中的ActiveX控件对象的引用

这是我到目前为止使用的JavaScript:

function GxUIProxyVB::OnLogon()
{
    var EntityProxy; 
    // For Each EntityProxy In GxUIProxyVB.ListEntityProxy 
    //     alert(EntityProxy.Name);
    // Next 
}
我已经注释掉了我正在努力解决的部分:枚举GxUIProxyVB.listenityproxy的值。

IE8观察列表中的这个屏幕截图显示了ListEntityProxy对象的成员

作为一种解决方法,我意识到我可以将代码保留在VBScript中,因为用户可能只会使用Internet Explorer来访问此内容,但为了代码的可维护性,我宁愿将其保留在JavaScript中。(我不希望维护此代码的未来web开发人员需要精通VBScript。)

您必须使用对象:

您必须使用一个对象:


谢谢我要试一试。我怀疑是这样的,但不知道你是如何用JavaScript实现的。太棒了!代码现在的执行方式与VBScript中的完全相同。非常感谢。也谢谢你教我一些新东西。我对枚举器类型一无所知。它是JScript中Microsoft特有的一种类型。不客气。:-)啊。我也不知道。很高兴你指出了这一点。再次感谢,谢谢。我要试一试。我怀疑是这样的,但不知道你是如何用JavaScript实现的。太棒了!代码现在的执行方式与VBScript中的完全相同。非常感谢。也谢谢你教我一些新东西。我对枚举器类型一无所知。它是JScript中Microsoft特有的一种类型。不客气。:-)啊。我也不知道。很高兴你指出了这一点。再次感谢。
function gxUIProxyVB_OnLogon() {
    var entityProxy; 
    for (var enr = new Enumerator(GxUIProxyVB.ListEntityProxy); !enr.atEnd(); enr.moveNext()) {
        entityProxy = enr.item();
        alert(entityProxy.Name);
    }
}