> 백엔드 개발 > C++ > C#을 사용하여 WebBrowser 컨트롤에 JavaScript를 삽입하는 방법은 무엇입니까?

C#을 사용하여 WebBrowser 컨트롤에 JavaScript를 삽입하는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-26 21:26:16
원래의
576명이 탐색했습니다.

How to Inject JavaScript into a WebBrowser Control Using C#?

C#의 WebBrowser 컨트롤에 JavaScript 코드 삽입

이 문서에서는 WebBrowser 컨트롤 DOM(문서 개체 모델)에 JavaScript 코드를 삽입하는 기술을 설명합니다. 이 접근 방식은 InnerHtml 속성을 ​​사용하여 스크립트 요소를 직접 조작하는 것이 어렵다는 점에서 비롯됩니다.

다음 단계는 프로세스를 안내합니다.

  1. WebBrowser 컨트롤에서 현재 문서의 head 요소를 가져옵니다.

    <code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
    로그인 후 복사
  2. CreateElement 메소드를 사용하여 스크립트 요소를 생성합니다:

    <code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
    로그인 후 복사
  3. 스크립트 요소를 IHTMLScriptElement 인터페이스로 변환합니다. 이 단계는 스크립트 요소의 "text" 속성을 정의하는 인터페이스에 대한 액세스를 허용하므로 매우 중요합니다.

    <code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
    로그인 후 복사
  4. text 속성을 ​​원하는 JavaScript 코드로 설정합니다:

    <code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
    로그인 후 복사
  5. head 요소에 스크립트 요소를 추가하여 DOM에 스크립트를 삽입합니다.

    <code class="language-csharp">head.AppendChild(scriptEl);</code>
    로그인 후 복사
  6. 주입된 JavaScript 함수를 실행하려면 WebBrowser 컨트롤의 Document 개체에서 InvokeScript 메서드를 호출하세요.

    <code class="language-csharp">webBrowser1.Document.InvokeScript("sayHello");</code>
    로그인 후 복사

이 방법을 사용하면 WebBrowser 컨트롤의 DOM에 JavaScript 코드를 삽입하여 해당 기능과 동작을 동적으로 수정할 수 있습니다.

위 내용은 C#을 사용하여 WebBrowser 컨트롤에 JavaScript를 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿