代码之家  ›  专栏  ›  技术社区  ›  justin.m.chase

如何对使用C#在JavaScript中创建的自定义对象调用方法?

  •  2
  • justin.m.chase  · 技术社区  · 14 年前

    我有一个网络浏览器控件。我已经在head标记中添加了一些JavaScript,通过添加一个警报,我可以看到它正在按预期工作。在这个js中,我创建了一个函数,并将一些成员添加到它的原型中,如下所示:

    function test() {
    }
    
    test.prototype.run = function() {
        alert('success!')
    }
    
    function createTest() {
        return new test()
    }
    

    然后回到C#我在做:

    dynamic test = this.browser.InvokeScript("createTest");
    test.run();
    

    另外,假设我想摆脱createTest()方法,如何从C#创建一个新的test实例?

    另外,为了获得额外的积分,关于将事件附加到这个自定义对象(比如说“complete”成员)以便它回调到我的C代码中,我需要知道什么特别的信息吗?

    2 回复  |  直到 14 年前
        1
  •  0
  •   Phil Bennett    14 年前

    尝试传入一个空的System.object数组作为InvokeScript的第二个参数,然后调用test.run();

        2
  •  0
  •   justin.m.chase    14 年前