/ / uruchamianie kodu javascript na stronie wewnątrz kontrolki WebBrowser - c #, .net, kontrolka webbrowser

uruchamianie kodu javascript na stronie wewnątrz kontrolki WebBrowser - c #, .net, webbrowser-control

Mam stronę internetową, która jest ładowana w formancie WebBrowser, HTML jest podobny do:

<input type="text" id="baa" name="baa" >

Chcę zmienić wartość baa wprowadź element HTML za pomocą kodu javacript, zrobiłem to:

webBrowser1.Navigate("javascript:document.getElementById("baa").value = "baa"; void(0)");

ale to nie działa w IE. Jak to naprawić? Z góry dziękuję.

Odpowiedzi:

0 dla odpowiedzi № 1

jeśli chcesz uruchomić skrypt, to lepiejza pomocą .execScript, który jest dostarczany ze sterowaniem .NET i .NET WB, lub .InvokeScript, który jest dostarczany tylko ze sterowaniem .NET WB - użycie tych jest o wiele lepszym pomysłem, ponieważ można używać VBScript, a także JavaScript (JScript).

Aby zmienić wartość, wszystko co musisz zrobić, toponiżej, zakładając, że twoja nazwa kontrolki WebBrowser to wbMain. To jest w VB, ale robienie tego w C # nie ma różnicy, z wyjątkiem składni językowej, która jest łatwa do odczytania i ponownego użycia w dowolnym języku, który chcesz.

Dim hDoc as MSHTML.IHTMLDocument " declare the html document object.

Set hDoc = wbMain.Document " Get a reference to the WB controls document object.

hDoc.getElementById("baa").value = "baa"

W rzeczywistości nie musisz nawet otrzymywać referencji ani wykonywać żadnej z powyższych czynności, jeśli chcesz, możesz użyć jej bezpośrednio z kontrolki balansu bieli.

wbMain.Document.getElementById("baa").value = "baa"

Jeśli chcesz zmienić to na coś innego, na przykład „naa”, po prostu zrób to:

wbMain.Document.getElementById("baa").value = "naa"

Daj mi znać, jeśli Ci to pomoże lub potrzebujesz dodatkowej pomocy.

Twoje zdrowie.