0

Firefox 22 以降では単純なことが起こります。名前付きのフレームがあり、名前"name1"を に変更した"name2"場合、"name1"静止画はwindow.frames配列に存在しますが、その値は になりますundefined。を呼び出しても同じことが起こりますdelete window.frames["name1"];

問題は、この場合frames、名前を付けて配列にアイテムを直接配置できないことです。また、そのウィンドウ オブジェクト"name1"にプロパティを追加できませんでした。name1これを行う唯一の方法は、一部のフレーム名を に変更すること"name1"です。ただし、現在のアプリケーション ロジックは、同じフレームに同時にアクセスする必要があり"name1"ます"name2"

ここにサンプルがあります: http://jsfiddle.net/tigeral/2VwFV/2/ .Firefox 21 と 22 の両方で結果を比較してください。

次のコードを機能させる方法を知っている人はいますか?

window.frames["name1"].name = "name2";
// what I need to do here ?    
window.frames["name1"] = window.frames["name2"];
alert(window.frames["name1"].name);

Ps 同様の質問が既に Stack Overflow に投稿されていますが、私の場合は別の解決策が必要です。フレームが削除され、再度追加された場合、window.frames["frame_name"] が Firefox で機能しない

4

1 に答える 1