Maison >développement back-end >C++ >Comment injecter du JavaScript en toute sécurité dans un contrôle WebBrowser ?

Comment injecter du JavaScript en toute sécurité dans un contrôle WebBrowser ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-26 21:16:13199parcourir

How to Safely Inject JavaScript into a WebBrowser Control?

Injecter JavaScript

L'injection de JavaScript dans le contrôle WebBrowser est une technique efficace de la fonction de page Web affichée dans le contrôle de contrôle. Cependant, la propriété innerHTML de l'objet HTMLelement peut entraîner une erreur System.NotsupportEdException.

Afin d'injecter efficacement JavaScript, différentes méthodes doivent être utilisées. Les étapes suivantes décrivent la solution:

Obtenez l'élément de Wead de la page Web dans le contrôle WebBrowser:
<code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
Créez un élément de script et spécifiez son type:
<code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
scriptEl.SetAttribute("type", "text/javascript");</code>
Interface IhtmlScriptElement pour obtenir l'élément de script:
<code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
Définissez l'attribut texte de IHTMLScriptElement pour définir le code JavaScript:
<code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
attacher l'élément de script à l'élément de tête:
<code class="language-csharp">head.AppendChild(scriptEl);</code>
Les appels de fonction JavaScript à partir du contrôle WebBrowser:
Cette version révocée maintient l'image d'origine et son format tout en reformulant le texte pour une clarté et un flux améliorés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn