我试图在从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')进行了检查。)
答案 0 :(得分:0)
傻傻的,原来Form1_Load没被调用!不知道为什么,但我将其删除并从事件列表中重新添加 现在一切正常:)