Maison > interface Web > js tutoriel > le corps du texte

Comment injecter du JavaScript dans un contrôle WebBrowser sans utiliser InnerHtml ?

Susan Sarandon
Libérer: 2024-11-19 18:45:03
original
340 Les gens l'ont consulté

How to Inject JavaScript into a WebBrowser Control Without Using InnerHtml?

Injecter du JavaScript dans un contrôle de navigateur Web

Question :

J'essaie d'injecter un Script JavaScript dans un contrôle WebBrowser, mais rencontre des erreurs lors de la définition de la propriété InnerHtml de l'élément de script. Existe-t-il une méthode alternative pour y parvenir ?

Réponse :

虽然原始尝试未能成功,但可以使用以下方法将脚本注入 DOM:

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");
Copier après la connexion

Explication :

  • Obtenir l'interface IHTMLScriptElement :

    • La propriété DomElement expose le sous-jacent Objet COM. La diffusion de ceci vers IHTMLScriptElement permet d'accéder à la propriété text.
  • Définir le texte du script :

    • Attribuer le code JavaScript souhaité à la propriété text.
  • Invoke Script :

    • Appelez InvokeScript sur le document pour exécuter le script injecté.

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