Ich habe ein WebBrowser-Steuerelement. Ich habe einige JavaScript in den Head-Tag hinzugefügt und ich kann sehen, dass es wie erwartet funktioniert, indem eine Warnung hinzugefügt wird. Innerhalb dieser js erstelle ich eine Funktion und füge einige Mitglieder zu seinem Prototyp wie folgt hinzu:
function test() {
}
test.prototype.run = function() {
alert('success!')
}
function createTest() {
return new test()
}
Dann zurück innerhalb von C# ich tue:
dynamic test = this.browser.InvokeScript("createTest");
test.run();
Ich kann sehen, dass das Testobjekt ein ComObject ist, aber wenn ich run() aufrufe, passiert nichts. Ich erhalte keine Fehlermeldung, aber es passiert auch nichts. Weiß jemand, wie man diese Art von benutzerdefiniertem Objekt aufruft?
Auch angenommen, ich wollte loswerden, die createTest()-Methode, wie kann ich eine neue Instanz von Test von C# erstellen?
Auch für Bonuspunkte, gibt es etwas Besonderes, das ich über das Anhängen von Ereignissen an dieses benutzerdefinierte Objekt (auf sagen wir ein 'komplette' Mitglied) wissen müssen, so dass es in meinem C#-Code zurückrufen wird?