Question

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?

Was it helpful?

Solution

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

OTHER TIPS

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

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

webView.Navigate("javascript:$$external.consoleLog('message text');");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top