Heim > Backend-Entwicklung > C++ > Wie kann JavaScript korrekt in ein HTML -Dokument injizieren, um 'notSupporedException' zu vermeiden?

Wie kann JavaScript korrekt in ein HTML -Dokument injizieren, um 'notSupporedException' zu vermeiden?

DDD
Freigeben: 2025-01-26 21:21:09
Original
272 Leute haben es durchsucht

How to Correctly Inject JavaScript into an HTML Document to Avoid `NotSupportedException`?

Die Injektionsmethode JavaScript im HTML -Dokument

Durch die Injektion des JavaScript -Code in der Webseite können dynamische Elemente verwendet werden, um die Webseite zu verbessern. Die Standard -HTMLDocument -Methode kann jedoch auf Fehler stoßen. Dieser Leitfaden bietet eine Lösung für dieses Problem.

Das Problem befindet sich

Das folgende Code -Beispiel zeigt den Versuch, JavaScript in das Dokument zu injizieren:

Das Innerhtml -Attribut, das auf Scriptel zugreift, wirft jedoch die Notsupportededexception -Ausnahme aus. Dies zeigt, dass der HTMlement -Typ das interne HTML für das Skriptelement nicht unterstützt.

<code>string newScript = textBox1.Text;
HtmlElement head = browserCtrl.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = browserCtrl.Document.CreateElement("script");
lblStatus.Text = scriptEl.GetType().ToString();
scriptEl.SetAttribute("type", "text/javascript");
head.AppendChild(scriptEl);
scriptEl.InnerHtml = "function sayHello() { alert('hello') }";</code>
Nach dem Login kopieren
Lösung

Um dieses Problem zu lösen, müssen wir auf die zugrunde liegende IHTMLScriptelement -Schnittstelle zugreifen. Das folgende aktualisierte Codefragment zeigt diese Methode:

Erläuterung

<code>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");</code>
Nach dem Login kopieren

Holen Sie sich das Kopfelement des Dokuments. Erstellen Sie ein neues Skriptelement.

    Abrufen Sie die zugrunde liegende IHTMLScriptelement -Schnittstelle vom Domelement -Attribut des Skriptelements ab.
  1. Stellen Sie die Texteigenschaft des Skriptelements mit dem JavaScript -Code fest.
  2. Fügen Sie das Skriptelement dem Kopf des Dokuments an.
  3. Die JavaScript -Funktion wird von der IHTMLScriptelement -Schnittstelle ausgeführt, um das injizierte Skript zu aktivieren.
  4. Mit dieser Methode können Sie JavaScript erfolgreich in die Webseite injizieren und dynamisch mit seinem Element interagieren.

Das obige ist der detaillierte Inhalt vonWie kann JavaScript korrekt in ein HTML -Dokument injizieren, um 'notSupporedException' zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage