/ / Ako môžem spustiť javascript, ktorý bol načítaný z DOM - vb.net, webbrowser - control, domdocument

Ako môžem spustiť javascript, ktorý bol načítaný z DOM - vb.net, webbrowser - control, domdocument

Snažím sa spustiť funkciu v javascripte, ktorý bol načítaný cez DOMDocument. Napríklad:

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

Neskôr:

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

Takže teraz musím spustiť skript, ktorý bol načítaný retrospektívne do mainDiv. Skúsil som:

Webbrowser1.Document.InvokeScript("onLoadScript")

... ale pokiaľ sa môžem zhromaždiť, táto metóda vidí iba DOM načítané z navigačnej udalosti. Dúfam, že existuje spôsob, ako vykonať skript pomocou prístupu k DOMDocumentu. Akákoľvek pomoc bola ocenená.

Vďaka

odpovede:

2 pre odpoveď č. 1

Môžete skúsiť vložiť skript, ktorý dynamicky skript volá dynamicky. Toto obchádza funkciu .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);