407のソースで、
SL1にTargetFrameNameを仮保管
SL2はフレームのあるページのTargetFrameNameのリスト
SL3はTargetFrameName
SL4は読み込んだURL
SL5はLocationURL(フレーム内のページを読み込んだ時にSL4のURL <> LocationURLなのでSL4とは別に格納しておく)
SL6はLocationName
SL7はフレームのあるページを読み込んだときに
最初にそれぞれのフレーム内に読み込まれるページのURLのリスト

で、全てを同時にリストに加えれば、
例えばSL3.Strings[3]はSL4.Strings[3]のTargetFrameNameとなり期待通りに動くのですが、
OnBeforeNavigateとOnNavigateCompleteの起こる回数が合わなかったり(何故かOnNavigateCompleteが多く起こる時がある)、
OnBeforeNavigateとOnNavigateCompleteの起こる順序が違う(重いページ→軽いページの順序で立て続けに読み込んだ時)とかの理由で違う順序で格納されてしまい、
期待通りの動きをしない事があるので、
同時にそれら全てを知りたいのです。
ちなみに407のソースはまだ完全じゃないので、
この問題が解決されてもまだちゃんと動かない状況があります。

>>408
OnNavigateCompleteの時にSL2〜SL7の履歴のリストに、新たに読み込まれたページの履歴を加えたいのです。(OnBeforeNavigateだとLocationNameが分からない)
で、それと同時にWebBrowser1.Tagに今表示しているページがSL4の中の何行目かを格納しておいて、
[戻る]、[進む]を押したときに、例えば4つ戻るならSL4.Strings[WebBrowser1.Tag -4]に格納されているURLを、SL3.Strings[WebBrowser1.Tag -4]に格納されているTargetFrameNameに読み込むようにしたいのです。

うぅ、長い上に分かりづらいっぽい…