Maison >interface Web >js tutoriel >Comment injecter du JavaScript dans un contrôle WebBrowser à l'aide d'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') }";
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];
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;
Attribuez le code JavaScript souhaité à la propriété text de l'IHTMLScriptElement :
element.text = "function sayHello() { alert('hello') }";
Enfin, ajoutez l'élément de script à l'en-tête et invoquez la fonction JavaScript :
head.AppendChild(scriptEl); webBrowser1.Document.InvokeScript("sayHello");
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!