2012-03-26 21 views
5

私はWebBrowserコントロールを含むwindows。NET Formを持っています。
このWebBrowserは、そのUrlプロパティに基づいてウェブページを表示します。
WebBrowserコントロール内の表示されたページのDOMを変更できますか?
「はい」の場合はどうすればよいですか? http://msdn.microsoft.com/pt-br/library/system.windows.forms.webbrowser.aspxからC#でWebBrowserコントロール内のDOMコンテンツを更新するには?

+1

ことが可能です。 WebBrowserはDocumentと呼ばれるプロパティを持っていて、マネージコード(http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx)のhtmldocumentからhtmlにアクセスできます。 – MilkyWayJoe

+1

私が言及したその特定のプロパティへのリンクhttp://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.document.aspx – MilkyWayJoe

+1

これは読み取り専用です(ゲッターが含まれているので表示されます)。 –

答えて

8

、ここでのソリューションです:

HtmlElement headElement = webBrowser1.Document.GetElementsByTagName("head")[0]; 
HtmlElement scriptElement = webBrowser1.Document.CreateElement("script"); 
IHTMLScriptElement domScriptElement = (IHTMLScriptElement)scriptElement.DomElement; 
domScriptElement.text = "function applyChanges(){/*DO WHATEVER YOU WANT HERE*/}"; 
headElement.AppendChild(scriptElement); 

// Call the nextline whenever you want to execute your code 
webBrowser1.Document.InvokeScript("applyChanges"); 
+1

あなたのソリューションはここに投稿してください!ありがとう – viniciushana

2

ます。また、現在のページのHTMLドキュメントオブジェクトモデル(DOM)への管理アクセスを提供するのHTMLDocumentオブジェクトを含むドキュメントプロパティを通してWebページの内容を操作することができます。このプロパティは、ObjectForScriptingプロパティと組み合わせて使用​​すると、Webページのアプリケーションコードと動的HTML(DHTML)コード間の双方向通信を実装して、WebベースのコントロールとWindowsフォームコントロールを単一のユーザーインターフェース。 Documentプロパティを使用すると、アプリケーションからスクリプトコードメソッドを呼び出すことができます。スクリプティングコードはwindow.externalオブジェクトを介してアプリケーションにアクセスできます。window.externalオブジェクトは、ホストアクセス用に提供される組み込みDOMオブジェクトで、ObjectForScriptingプロパティ用に指定したオブジェクトにマップします。興味がある人のために

+0

例を挙げてあなたの要点を明確にしてください。 – Aakash

+0

リンクの最後にいくつかの例があります。 – viniciushana

関連する問題