私の C++ プログラムは Internet Explorer (IE6 から IE10 までで動作します) を起動して、インターネット上の Web ページを表示します。Web ページを変更する方法がありません。Web ページは JavaScript ファイル ( <script>
HTML マークアップでタグを使用) を参照します - swfobject JavaScript ライブラリのコピーです。私が提供するこのファイルのカスタム コピーを Web ページで使用したいと思います。
これに取り組むための2つの可能な方法を思いついた
Internet Explorer が接続するプロキシ サーバーを記述します。プロキシは実際のデータを取得し、HTML を書き換えて、自分の swfobject のコピーが参照されるようにします。残念ながら、これはかなりの作業であり、おそらく https では機能しません。今のところ、https のサポートがなくても大丈夫です。
すべての http 要求をインターセプトする Internet Explorer 用の非同期プロトコル プラグインを実装します。JavaScript ファイルは常に http を使用して取得されることがわかっているため、swfobject JavaScript ファイルへのアクセスをインターセプトして、代わりに独自のファイルを生成できます。残念ながら、これも不可能のようです。Microsoft のサポート ページでは説明されています。
Internet Explorer は、HKEY_CURRENT_ROOT\PROTOCOLS\Http を CLSID 以外の値で上書きしようとする素朴な試みを無視します。
これは、カスタム プロトコル ハンドラで 'http' をフックしても機能しないようです。いずれにせよ、既存の http プロトコル ハンドラが存在する場合、このアプローチにも問題があります。
これら2つのどちらよりもこれを解決するためのより良い方法はありますか?