geckofx,c#添加事件侦听器
我用的是壁虎29。如何在javascript事件上调用c#函数 我搜索并找到此解决方案,但它不起作用:geckofx,c#添加事件侦听器,c#,events,geckofx,C#,Events,Geckofx,我用的是壁虎29。如何在javascript事件上调用c#函数 我搜索并找到此解决方案,但它不起作用: public void AddEventListener_JScriptFiresEvent_ListenerIsCalledWithMessage() { string payload = null; browser.AddMessageEventListener("callMe", ((string p) => pay
public void AddEventListener_JScriptFiresEvent_ListenerIsCalledWithMessage()
{
string payload = null;
browser.AddMessageEventListener("callMe", ((string p) => payload = p));
browser.LoadHtml(
@"<!DOCTYPE html>
<html><head>
<script type='text/javascript'>
window.onload= function() {
event = document.createEvent('MessageEvent');
var origin = window.location.protocol + '//' + window.location.host;
event.initMessageEvent ('callMe', true, true, 'some data', origin, 1234, window, null);
document.dispatchEvent (event);
}
</script>
</head><body></body></html>");
browser.NavigateFinishedNotifier.BlockUntilNavigationFinished();
Assert.AreEqual("some data", payload);
}
public void AddEventListener\u jscript firesevent\u ListenerIsCalledWithMessage()
{
字符串有效负载=null;
AddMessageEventListener(“callMe”,((字符串p)=>payload=p));
browser.LoadHtml(
@"
window.onload=function(){
event=document.createEvent('MessageEvent');
var origin=window.location.protocol+'/'+window.location.host;
event.initMessageEvent('callMe',true,true,'some data',origin,1234,window,null);
文件发送事件(事件);
}
");
browser.NavigateFinishedNotifier.BlockUntilNavigationFinished();
AreEqual(“一些数据”,有效载荷);
}
event.initMessageEvent无法执行
请帮助我消息事件界面已更新。initMessageEvent方法不再存在。看看线的底部。根据这一点,onload函数的主体应该是:
var event=newmessageevent('callMe',{'view':窗口,'bubbles':false,'cancelable':false,'data':'some data'});
文件、调度事件(事件)代码>