Mit diesem Snippet kann man kinderleicht Javascript auf einer Website, welche gerade in einem Webebrowser-Control geöffnet ist, ausführen.
Tipp: Wer kein Javascript kann der sollte mal hier gucken: http://de.selfhtml.org/javascript/index.htm
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Net;
using System.IO;
using MSHTML;
namespace System.Web
{
/// <summary>
/// Führt ein JavaScript in einem WebBrowser aus
/// </summary>
/// <param name="browser">Webbrowser in dem das Script ausgeführt werden soll</param>
/// <param name="Script">Das auszuführende Script</param>
/// <param name="FunctionName">Der Name der im Script definierten Funktion</param>
/// <param name="Params">Parameter für das Script</param>
public static void ExecuteJavaScript(WebBrowser browser, string Script, string FunctionName, object[] Params)
{
HtmlElement head = browser.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = browser.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = Script;
head.AppendChild(scriptEl);
browser.Document.InvokeScript(FunctionName, Params);
}
}
Kommentare zum Snippet