C#GeckoFX-从导航的页面调用JS函数

本文关键字:调用 JS 函数 导航 C#GeckoFX- | 更新日期: 2023-09-27 18:25:06

我正试图使用GeckFX(版本33)在导航页面中调用我的函数"initialize",我尝试了以下操作:

_wb.Navigate("javascript:void(initialize());");

using (Gecko.AutoJSContext context = new AutoJSContext(_wb.Window.JSContext))
{
    var result = context.EvaluateScript("initialize();", _wb.Window.DomWindow);
}

两者都不起作用。第一个甚至没有返回错误,第二个返回以下错误消息:

对COM组件的调用返回错误HRESULT E_FAIL。

我正在"DocumentCompleted"事件处理程序中执行这些操作。我有什么东西不见了吗?

我的猜测是它没有完成加载页面,因为当我在调试模式下停止时,我在这个偶数处理程序中看不到网页(只有当我继续它出现时)

有什么办法让它发挥作用吗?谢谢

C#GeckoFX-从导航的页面调用JS函数

我发现了问题,我应该使用:

Application.DoEvents();

然后呼叫

_wb.Navigate("javascript:void(initialize());");