IE オートメーションを使用して、さまざまな内部 Web ページを処理しようとしています。これらのページの一部は iframe とフレームを使用しているため、それらのフレーム内でも処理できるようにする必要があります。
フレームまたは iframe が親ドキュメントと同じドメインにコンテンツを表示しない場合に問題が発生しましたが、これは問題ありません。
しかし、私には理解できない何かが現れました。
(たとえば) http://www.gmail.com/にアクセスしてログイン ページに移動すると、IHTMLDocument2.frames.length を使用すると、iframe が存在しない場合でも 1 が返されます。IHTMLDocument3.getElementsByName("iframe").length は期待どおり 0 を返します。
これはIE9でのみ発生するようです。IE6 と IE7 は期待どおりに動作しますが、IE8 ではまだテストしていません。
なぜこれが起こるのか、誰にも洞察がありますか? 明らかに実際のタグを数えていますが、常に ITHMLDocument2.frames.length が 1 になっているのはどこでしょうか? セキュリティ設定などでしょうか...?