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 で機能しない