- PR -

親画面の処理で、子画面を閉じたい

投稿者投稿内容
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2005-01-06 21:30
最近のブラウザはセキュリティ上の都合で、ある程度の大きさ(100x100くらい?)より
小さいウィンドウを開くことができません。

座標指定でleft=3000,top=3000などと指定して、デスクトップの範囲外で開けば
子画面が表示されるのを(一応)防ぐことができます。
(それでもフォーカスが移動するので、一瞬ちらついたように見えますが…)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-01-06 22:04
引用:

hiraさんの書き込み(2005-01-06 15:28)より:

 実は、私もこの方法を考えました。
 (質問の中に「子画面が閉じられることがある」事を明記していませんでした・・すみません。)


 わかったと思いますけど、試したこと、考えたこと、没にした理由は明記しましょうね。それが最初に書いてあれば、この時点で解決していたはずです。他の人に余分に考えさせた…ということをいう人もいますが、それより何より、あなた自身、解決までに時間がかかって損をしているはずです。


 「親」をフレームで表示して、「子」は「親の親フレーム」から表示させる。「子」の制御はすべて「親の親フレーム」から行う。
 飛び先を気をつける他、スクリプトの変更はほとんどないと思います。

_________________
Microsoft MVP for Visual Developer - ASP/ASP.NET (Oct. 2004 - Sept. 2005)

[ メッセージ編集済み 編集者: Jitta 編集日時 2005-01-06 22:05 ]
hira
常連さん
会議室デビュー日: 2004/05/07
投稿数: 33
投稿日時: 2005-01-07 08:57
たつごろーさん、vincentさん、Jittaさん
返信ありがとうございます。

たつごろーさん&vincentさんの案で、
遷移先画面にて、デスクトップの範囲外で子画面を開く案を
使用させていただきます。
みなさん、ご協力ありがとうございました。

>Jittaさん
 Jittaさんのご指摘通り、試したこと、考えたこと、没にした理由等も最初に明記しておくべきでした。
 みなさんにご迷惑おかけして申し訳ありませんでした。

以上。
yaksya
会議室デビュー日: 2004/08/16
投稿数: 3
投稿日時: 2005-01-07 18:37
試してませんが、

1.親画面をフレームで分割し、見えないフレームを追加(100%,0)
2.見えないフレームから子画面を開く var w = window.open("","hoge");
3.親画面を遷移(見えないフレーム部分はそのまま)してフレーム分割されている箇所のみ遷移
4.見えないフレームから閉じる。 if(w) w.close();

これでどうでしょうか?
hira
常連さん
会議室デビュー日: 2004/05/07
投稿数: 33
投稿日時: 2005-01-11 12:42
yaksyaさん
返信ありがとうございます。

yaksyaさんの案も魅力的ですが、
この案を適用すると、画面遷移のロジックを全て書き直す事になるので
今回は、たつごろーさん&vincentさんの案を適用させていただきます。

貴重な時間を割いて、案を出していただきありがとうございました。

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