2013-07-23 267 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。 –