How Can Execute Javascript Commands via GeckoFX

2019-01-29 03:41发布

I try to execute a javascript command like alert('test message') via GeckoFX and C# but I can not.

I try without results with Navigate and with ExecuteCommand

My code is

    int i=0;    
    GeckoWebBrowser webBrowser
    webBrowser.Navigate("alert('"+i.ToString()+"');");
    webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");

Can anyone help me?

标签: c# gecko geckofx
3条回答
相关推荐>>
2楼-- · 2019-01-29 04:16

for the new versions instead of geckoWebBrowser1.JSContext you should write geckoWebBrowser1.Window

my code is working and I've answered with sample in another old post here

查看更多
smile是对你的礼貌
3楼-- · 2019-01-29 04:03

You can use AutoJSContext to run javascript with geckofx.

Something like:

GeckoWebBrowser browser = ....;

using (AutoJSContext context = new AutoJSContext(browser.JSContext))
{                               
   string result;
   context.EvaluateScript("3 + 2;", out result)
}

See EvaluateScript unittests for more info and examples.

If you are using a super old version of geckofx you may need to get a later version - geckofx

查看更多
聊天终结者
4楼-- · 2019-01-29 04:17

You can use Navigate method to avoid AccessViolatoinException during calling document js function:

webView.Navigate("javascript:$$external.consoleLog('message text');");
查看更多
登录 后发表回答