Maison > interface Web > js tutoriel > Comment injecter du JavaScript dans un contrôle WebBrowser à l'aide d'IHTMLScriptElement ?

Comment injecter du JavaScript dans un contrôle WebBrowser à l'aide d'IHTMLScriptElement ?

Susan Sarandon
Libérer: 2024-11-25 00:35:13
original
353 Les gens l'ont consulté

How to Inject JavaScript into a WebBrowser Control Using IHTMLScriptElement?

Injection JavaScript directe de WebAssembly : un guide complet

L'injection de JavaScript dans un contrôle WebBrowser est une tâche courante lors du développement d'applications Web. Dans ce contexte, nous abordons une question courante : "Comment injecter du Javascript dans le contrôle WebBrowser ?".

Lorsque vous tentez d'injecter du JavaScript à l'aide du code suivant :

scriptEl.InnerHtml = "function sayHello() { alert('hello') }";
Copier après la connexion

Vous pouvez rencontrer les erreurs liées à la propriété InnerHtml ne sont pas prises en charge. C'est là qu'une exploration plus approfondie est nécessaire.

Pour réussir à injecter un script dans le DOM, envisagez l'approche suivante :

Commencez par récupérer l'élément head du document du contrôle WebBrowser :

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
Copier après la connexion

Ensuite, créez un élément de script et récupérez son IHTMLScriptElement interface :

HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
Copier après la connexion

Attribuez le code JavaScript souhaité à la propriété text de l'IHTMLScriptElement :

element.text = "function sayHello() { alert('hello') }";
Copier après la connexion

Enfin, ajoutez l'élément de script à l'en-tête et invoquez la fonction JavaScript :

head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");
Copier après la connexion

Cette solution fournit une méthode fiable et efficace pour injecter du JavaScript dans un contrôle WebBrowser, vous permettant de manipuler et d'interagir dynamiquement avec le contenu web affiché dans votre application.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal