Браузер GeckoFX: вызов функции C # из JavaScript

#javascript #c# #gecko #geckofx

#javascript #c# #гекко #geckofx

Вопрос:

Я пытаюсь вызвать MessageBox.Функция Show (p) для данных (p), которые я получил из MessageEvent браузера GeckoWebBrowser. Это не работает! Помогите?
(При этом должно появиться окно сообщения с надписью «test»)

Javascript:

 function callServerFunction(fname, parameter) {
    event = new MessageEvent(fname, { 'view': window, 'bubbles': false, 'cancelable': false, 'data': parameter });
    document.dispatchEvent(event);
}

function fillClientsTable() {
    callServerFunction("fillClientsTable", "test");
}

window.onload = function () {
    fillClientsTable();
};
  

C#:

 private void Form1_Load(object sender, EventArgs e) {
    browser.AddMessageEventListener("fillClientsTable", (string p) => MessageBox.Show(p));
}
  

PS При тестировании вызываются функции onload(), fillClientsTable() и callServerFunction()! (Я проверил с помощью alert (‘test’) внутри каждого.)

Ответ №1:

Глупый я, оказалось, что Form1_Load не вызывался! Не уверен, почему, но я удалил его и повторно добавил из списка событий.
Теперь все работает 🙂