InternetExplorerに表示されるJavaScriptを動的に書き換えるには?


D  2008-11-24 08:52:00  No: 101351

VB6からIEを非表示で呼び、操作を行うプログラムを作成しています。
あるページで非表示のIEウインドウにフォーカスを奪われてしまいました。
これは表示したドキュメントのBodyタグ内にonload="javascript:window.focus();"が指定してあるのが原因で、このJavascriptだけ実行される前に潰してしまえればと考えています。

InternetExplorer.NavigateでURLを指定して指示した後、
ドキュメントが順次取得されBodyタグのOnloadイベントハンドラが実行される前を捉えてこの中のスクリプトそのものを書き換える、または呼び出す関数を別のものにしてしまう…このようなことを考えていますが、どなたか解決法をご存じないでしょうか?

全く方向性間違えているかもしれませんが、クラスモジュール内で
Private WithEvents objIE As InternetExplorer
Private Sub objIE_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    Call objIE.Document.body.setAttribute("Onload", "")
End Sub
としてみましたがさっぱり効果なしでした。
ちなみにここでobjIE.Document.body.getAttribute("Onload")とすれば該当該当のJavaScriptコードは取得できました。

以上です、よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加