/ / Jak uruchomić javascript załadowany z DOM - vb.net, webbrowser-control, domdocument

Jak wykonać javascript załadowany z DOM - vb.net, webbrowser-control, domdocument

Próbuję wykonać funkcję w javascript, który został załadowany za pomocą DOMDocument. Na przykład:

"on page load
Webbrowser1.navigate("a htmldocument with a div called mainDiv")

Później:

mDoc = WebBrowser1.Document
Dim mainDiv As IHTMLDOMNode = mDoc.DomDocument.getElementById("mainDiv")
mainDiv.innerHTML = (IO.File.ReadAllText("a file with just a div and script"))
"File has no html, head and body tags

Teraz muszę wykonać skrypt, który został wczytany retrospektywnie do mainDiv. próbowałem:

Webbrowser1.Document.InvokeScript("onLoadScript")

... ale o ile mogę zebrać, ta metoda widzi tylko DOM załadowany ze zdarzenia nawigacji. Mam nadzieję, że istnieje sposób na wykonanie skryptu poprzez dostęp do DOMDocument. Każda pomoc doceniona.

Dzięki

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz spróbować dynamicznie wstrzykiwać skrypt, który wywołuje dynamiczny skrypt. Pomija to funkcję .InvokeScript

HtmlElement headtag = WebBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scripttag = WebBrowser1.Document.CreateElement("script");
IHTMLScriptElement scriptelm = (IHTMLScriptElement)scripttag.DomElement;
scriptelm.text = "onLoadScript();";
headtag.AppendChild(scripttag);