2017-12-29 20 views
0

html, css 및 js를 포함한 GeckoFX 웹 브라우저에서 웹 페이지 소스를 변경해야합니다.(html, css, js) geckofx C#

이 내 코드입니다 :

geckoWebBrowser1.Navigate("http://example.com/"); 
    geckoWebBrowser1.DocumentCompleted += GeckoWebBrowser1_DocumentCompleted; 

    private void GeckoWebBrowser1_DocumentCompleted(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e) 
    { 

     WebClient w = new WebClient(); 
     string s = (w.DownloadString("http://example.com/")); 
     //after do changes on (s) 
     geckoWebBrowser1.LoadHtml(s, "http://example.com/"); 

그러나 자바 스크립트 작업을, 누군가가 나를 도울 수 아니에요?

답변

0

문제는 geckoWebBrowser1.LoadHtml이 GeckoWebBrowser1_DocumentCompleted()를 트리거한다는 것입니다. 그래서 끝없이 반복됩니다.

LoadHtml을 다른 기능으로 이동하거나 아래 내용과 같이 내용을 변경하십시오.

또한 WebClient를 사용하여 동일한 페이지를 다운로드하고 있습니까? 필요가 없습니다. 소스는 이미 사용할 수 있습니다.

using (AutoJSContext context = new AutoJSContext(ActiveBrowser.Window.DomWindow)) 
{ 
    var result = context.EvaluateScript("testFunction();"); 
} 
:

GeckoHtmlElement element = null; 
var geckoDomElement = e.Window.Document.DocumentElement; 
if (geckoDomElement is GeckoHtmlElement) 
{ 
    element = (GeckoHtmlElement)geckoDomElement; 
    element.InnerHtml = element.InnerHtml.Replace("Google", "Göggel"); 
} 

자바 스크립트는 가장 쉽게 사용하여 다음 실행