Maison >interface Web >js tutoriel >Comment puis-je injecter avec succès du JavaScript dans un contrôle WebBrowser ?

Comment puis-je injecter avec succès du JavaScript dans un contrôle WebBrowser ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-26 18:12:10804parcourir

How Can I Successfully Inject JavaScript into a WebBrowser Control?

Injecter du Javascript dans un contrôle WebBrowser

Lorsqu'ils tentent d'injecter un script dans un contrôle WebBrowser, les développeurs rencontrent parfois des problèmes avec des propriétés non prises en charge. Pour résoudre ce problème, vous pouvez exploiter l'interface IHTMLScriptElement.

Approche révisée :

L'extrait de code suivant fournit une solution dont l'efficacité a été prouvée :

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { alert('hello') }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");

Comprendre l'interface :

Le L'interface IHTMLScriptElement vous permet d'accéder à la propriété texte d'un élément de script et d'exécuter le script.

Explication :

Cette approche modifiée exploite l'interface IHTMLScriptElement pour manipuler l'élément de script. et exécutez-le dans le contrôle du navigateur. L'erreur associée aux propriétés non prises en charge est contournée en utilisant l'interface appropriée pour la tâche.

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