2013-07-23 278 views
1

我试图通过GeckoFX和C# 执行像alert('测试消息')这样的javascript命令,但我不能。如何通过GeckoFX执行Javascript命令

我尽量不带导航和ExecuteCommand

结果

我的代码是

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

谁能帮助我?

回答

4

您可以使用AutoJSContext与geckofx运行JavaScript。

喜欢的东西:

GeckoWebBrowser browser = ....; 

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

See EvaluateScript unittests更多的信息和例子。

如果您使用的是超级老版本的geckofx您可能需要获得一个更高版本 - geckofx

+0

我使用的版本16.0.0.2 –

+1

@汤姆我知道这是老了,但我试着去使用此代码我有一个错误。 'Gecko.GeckoWebBrowser不包含'JSContext'的定义,并且没有扩展方法'JSContext'接受类型Gecko.GeckoWebBrowser的第一个参数可以找到'..我在想什么?.. – skram

+4

从版本22开始,我需要browser.Window.JSContext。 –