InnerHtml を使用せずに JavaScript を WebBrowser コントロールに挿入する方法

Susan Sarandon
リリース: 2024-11-19 18:45:03
オリジナル
351 人が閲覧しました

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

WebBrowser コントロールへの JavaScript の挿入

質問:

JavaScript スクリプトを WebBrowser コントロールに追加しましたが、script 要素の InnerHtml プロパティを設定するときにエラーが発生しました。これを実現する別の方法はありますか?

回答:

虽然原始尝试未能成功,ただし次の方法を使用して 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");
ログイン後にコピー

説明:

  • IHTMLScriptElement インターフェイスの取得:

    • DomElement プロパティは、基になるCOM オブジェクト。これを IHTMLScriptElement にキャストすると、text プロパティにアクセスできるようになります。
  • Set Script Text:

    • 必要な JavaScript コードを割り当てます。
  • スクリプトの呼び出し:

    • ドキュメント上で InvokeScript を呼び出し、挿入されたスクリプトを実行します。

以上がInnerHtml を使用せずに JavaScript を WebBrowser コントロールに挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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