ホームページ > バックエンド開発 > C++ > 「NotSupportedException」を回避するために HTML ドキュメントに JavaScript を正しく挿入する方法

「NotSupportedException」を回避するために HTML ドキュメントに JavaScript を正しく挿入する方法

DDD
リリース: 2025-01-26 21:21:09
オリジナル
272 人が閲覧しました

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

htmlドキュメントの注入javascriptの方法

javaScriptコードをWebページに注入することにより、動的要素を使用してWebページ関数を強化できます。ただし、標準のhtmldocumentメソッドにはエラーが発生する場合があります。このガイドは、この問題の解決策を提供します。

問題は次のコードサンプルは、JavaScriptをドキュメントに注入しようとする試みを示しています。

ただし、SpriscelにアクセスするInnerHTML属性は、notSupportedExceptionの例外をスローします。これは、HTMlementタイプがスクリプト要素の内部HTMLをサポートしていないことを示しています。 solution

この問題を解決するには、基礎となるihtmlscriptelementインターフェイスにアクセスする必要があります。以下の更新されたコードフラグメントは、この方法を示しています:
<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>
ログイン後にコピー

説明

ドキュメントのヘッド要素を取得します。

新しいスクリプト要素を作成します。
<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>
ログイン後にコピー

スクリプト要素のドメレメント属性から基礎となるihtmlscriptelementインターフェイスを取得します。 JavaScriptコードでスクリプト要素のテキストプロパティを設定します。

    スクリプト要素をドキュメントのヘッドに添​​付します。
  1. JavaScript関数は、IHTMLScriptElementインターフェイスから実行され、注入されたスクリプトをアクティブにします。
  2. このメソッドを使用すると、JavaScriptをWebページに正常に注入し、その要素と動的に対話できます。

以上が「NotSupportedException」を回避するために HTML ドキュメントに JavaScript を正しく挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート