У меня есть элемент управления WebBrowser. Я добавил JavaScript в тег head и вижу, что он работает, как и ожидалось, добавив предупреждение. Внутри этого js я создаю функцию и добавляю несколько членов к ее прототипу так:
function test() {
}
test.prototype.run = function() {
alert('success!')
}
function createTest() {
return new test()
}
Затем вернемся в C # Я делаю:
dynamic test = this.browser.InvokeScript("createTest");
test.run();
Я вижу, что тестовый объект - это какой-то ComObject, но когда я вызываю run (), ничего не происходит. Я не получаю ошибки, но ничего не происходит. Кто-нибудь знает, как вызвать этот тип пользовательского объекта?
Также предположим, что я хотел избавиться от метода createTest (), как я могу создать новый экземпляр теста из C #?
Кроме того, для бонусных баллов есть ли что-то особенное, что мне нужно знать о присоединении событий к этому пользовательскому объекту (скажем, «завершенному» члену), чтобы он вызывал обратный вызов в моем коде C #?