C#의 WebBrowser 컨트롤에 JavaScript 코드 삽입
이 문서에서는 WebBrowser 컨트롤 DOM(문서 개체 모델)에 JavaScript 코드를 삽입하는 기술을 설명합니다. 이 접근 방식은 InnerHtml
속성을 사용하여 스크립트 요소를 직접 조작하는 것이 어렵다는 점에서 비롯됩니다.
다음 단계는 프로세스를 안내합니다.
WebBrowser 컨트롤에서 현재 문서의 head
요소를 가져옵니다.
<code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
CreateElement
메소드를 사용하여 스크립트 요소를 생성합니다:
<code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
스크립트 요소를 IHTMLScriptElement
인터페이스로 변환합니다. 이 단계는 스크립트 요소의 "text" 속성을 정의하는 인터페이스에 대한 액세스를 허용하므로 매우 중요합니다.
<code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
text
속성을 원하는 JavaScript 코드로 설정합니다:
<code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
head
요소에 스크립트 요소를 추가하여 DOM에 스크립트를 삽입합니다.
<code class="language-csharp">head.AppendChild(scriptEl);</code>
주입된 JavaScript 함수를 실행하려면 WebBrowser 컨트롤의 Document
개체에서 InvokeScript
메서드를 호출하세요.
<code class="language-csharp">webBrowser1.Document.InvokeScript("sayHello");</code>
이 방법을 사용하면 WebBrowser 컨트롤의 DOM에 JavaScript 코드를 삽입하여 해당 기능과 동작을 동적으로 수정할 수 있습니다.
위 내용은 C#을 사용하여 WebBrowser 컨트롤에 JavaScript를 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!