- PR -

親画面→子画面→孫画面 時のセッションについて

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/02/22
投稿数: 22
投稿日時: 2006-02-28 17:42
複数のブラウザを立ち上げて、業務を平行して行おうとした際に
あるブラウザでjavascriptのモーダルダイヤログで子画面を表示
します。次にその子画面からjavascriptのwindow.openで孫画面を
表示します。そうした時に各画面でsessionidを取得してみると
孫画面のsessionidは親画面のsessionidではなく、複数立ち上げた
ブラウザのうち、一番古いブラウザに対応したsessionidになってし
まう現象が発生しております。ブラウザを1つだけ立ち上げた場合
は親、子、孫画面でsessionidは同じです。又、子画面、孫画面とも
モーダルダイヤログの場合は、親、子、孫画面でsessionidは同じです。

こういう状態なのですが、これはIEのバグなのでしょうか?
どなたかご存知でしょうか?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-02-28 18:09
私も同様の現象に悩まされました。
IEのバグだと思うのですが、ネットで調べても見つけることはできませんでした。

ちなみに私は下記のようにして、回避しました。
親:WebForm1.aspx
子:WebForm2.aspx
孫:WebForm3.aspx
とする。

1.WebForm1でWebForm2をshowModalDialogで表示する際に、第2引数に親のwindowオブジェクトを渡す。

showModalDialog("WebForm2.aspx", window);

2.WebForm2でWebForm3をwindow.openで表示する際に、window.dialogArgumentsを使用して、親のwindowオブジェクトからウィンドウを開く

var args;
args = window.dialogArguments;
args.open("WebForm3.aspx");


もとの原因がバグかどうかもわからないので、この対応が正しいかすら不明です。
ご使用は自己責任で。。。
1

スキルアップ/キャリアアップ(JOB@IT)