2

私はIE8で奇妙な問題を抱えています。単純に何かを取得しようとしています:

window.frames.frames[0].name; // get the name of the inner iFrame object

派手なことは何もありませんが、スクリプトが実行されると、IE7-8 は次のように解釈します。

window.frames.frames.0.name;

// which in-turn gives the error
// 'window.frames.frames.0.name' is null or not an object (which is not true)

なぜ、どのようにこれを変換しているのか、なぜそれが機能しなくなったのか??

IE8 のコンソールに最初のものを入力するwindow.frames.frames[0].name;と、正しい iFrame が取得されます。しかし、IE8 が解釈するもの ( window.frames.frames.0.name;) を入力しても、まったく機能しません... (不思議なことに、"Expected ';'"と表示されますが、これはまったく意味がありません。

このような問題に遭遇したことのある人はいますか?

4

3 に答える 3

1

window.framesは配列ですね。最初のフレームにインデックスを付けるべきではありませんか?

window.frames[0].frames[0].name;
于 2012-11-01T14:10:48.400 に答える
1

エラー メッセージのドット表記は、ブラウザーが使用する単なる文字列であり、ブラウザー開発者の選択は適切ではありません。

The line `window.frames.frames[0].name` does not make sense.

私は期待するだろう

window.frames[0].name 

または、フレーム内にネストされたフレームである場合

window.frames[0].frames[0].name 
于 2012-11-01T14:11:11.257 に答える
1

呼び出しを括弧で囲むと機能しますか? このような:

(window.frames.frames[0]).name; // get the name of the inner iFrame object

window.frames.frames[0]また、単に参照するだけでなく、本当に参照することを意味しますwindow.frames[0]か?

または、次のことを意味します:

window.frames[0].frames[0].name; // get the name of the inner iFrame object
于 2012-11-01T14:13:21.527 に答える