我正在尝试对从 GeckoWebBrowser 的 MessageEvent 获得的数据 (p) 调用 MessageBox.Show(p) 函数。它不工作!帮忙?
(这应该显示一个消息框说“测试”)
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') 检查。)
最佳答案
我真傻,原来没有调用 Form1_Load!不知道为什么,但我将其删除并重新添加到事件列表中。
现在一切正常:)
关于javascript - GeckoFX 浏览器 : Call C# function from JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39933893/