GeckoFX浏览器:从JavaScript调用C#函数

时间:2016-10-08 15:03:20

标签: javascript c# gecko geckofx

我试图在从GeckoWebBrowser的MessageEvent获取的数据(p)上调用MessageBox.Show(p)函数。它不工作!帮助?
(这应该显示一个MessageBox说" 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));
}


附:测试时,函数onload(),fillClientsTable()和callServerFunction()都被调用! (我在每个内部使用alert(' test')进行了检查。)

1 个答案:

答案 0 :(得分:0)

傻傻的,原来Form1_Load没被调用!不知道为什么,但我将其删除并从事件列表中重新添加 现在一切正常:)