问题
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?
回答1:
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
回答2:
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
回答3:
You can use Navigate method to avoid AccessViolatoinException during calling document js function:
webView.Navigate("javascript:$$external.consoleLog('message text');");
来源:https://stackoverflow.com/questions/17803409/how-can-execute-javascript-commands-via-geckofx