私はWebBrowser
WinForms バージョンとは異なる WPF コントロールを使用していますが、この優れた Web サイトの多くの推奨事項は WPF では機能しません。
btnSubmit_onclick()
Web ページの JavaScript 関数を上書きするにはどうすればよいですか?
この関数は、バイパスしたい確認ダイアログ (「よろしいですか?」など) を生成します。btnSubmit_onclick()
基本的に、既存の関数を置き換える新しい関数を挿入したいので、煩わしい確認ダイアログを省略できます。MSHTML とすべてのページ オブジェクトにアクセスできますが、ページのヘッダーにスクリプトを挿入するのに苦労しています。これまでのところ、私は持っています:
mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser.Document;
mshtml.IHTMLElementCollection heads = doc.all.tags("head") as mshtml.IHTMLElementCollection;
mshtml.IHTMLElement head = heads.item(null, 0) as mshtml.IHTMLElement;
mshtml.IHTMLElement se = doc.createElement("script") as mshtml.IHTMLElement;
se.innerHTML = "function btnSubmit_onclick() { alert('here we are'); }";
しかし、他のスクリプトよりも先に、この新しいスクリプト要素をヘッド オブジェクトに挿入する必要があります。これにより、btnSubmit_onclick()
ダウンストリームの既存の関数が上書きされることを願っています。
DEFER プロパティを使用してもヘッダーにスクリプトを挿入することを拒否する head.injectAdjusentHTML を試してみましたが失敗しました。
どうすればできますか?