- PR -

サブ画面を閉じるときに確認ダイアログを出したいのですが、、

1
投稿者投稿内容
貧乏人
会議室デビュー日: 2003/08/07
投稿数: 2
投稿日時: 2003-08-07 17:12
いつも参考にさせていただいております。初歩的な事柄かもしれないですが、
JAVAScript関係にて
表題の事項でかなり困っているので僭越ながら投稿させていただきます。

JSPよりサブ画面の別画面(ServletベースのiText使用のPDF出力画面)に
出力させています。
要望としてはこちらのサブ画面を閉じようとしたときに確認ダイアログを出したいのですが、
現状うまくいかなくて途方に暮れております。

→サブ画面のServletにout.println();でHTML関係JAVAScript:onUnload関係をべた書きすると
 PDFが出力されなくなってしまう。
(ちなみにiTextのByteArrayOutputStreamクラスを使用しており、
 PrintWriterでそのまま書くとHTMLのみが表示されてPDFが消されてしまいました。)

→親のJSPの方で制御させようと考えているのですが、
 サブウィンドウにタグがないので確認ができない(←こちらでいろいろとやっています。)
 ちなみにソースはこんな感じで書いております。

function subwindowPDF() {
//↓こちらのサブServletクラスに投げている。
document.form_details.action = "/tba/servlet/Meisai";
document.form_details.target
= "_blank2","top=0,left=0,toolbar=no,location=no,directories=no,
status=no,menubar=no,scrollbars=yes,resizable=yes,width=1050,height=810";
document.form_details.submit();
}

たぶん初歩的なことで悩んでいると思いますが、
サッパリイメージもつかない状況です。
どなたかお教えいただけないでしょうか?

よろしくお願い致します。
永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2003-08-07 19:32
永井と申します。

引用:

要望としてはこちらのサブ画面を閉じようとしたときに確認ダイアログを出したいのですが、
現状うまくいかなくて途方に暮れております。



PDFを表示しているウィンドウの「x」とかを押した場合に確認ダイアログを出して、
「キャンセル」を選んだらそのまま表示したいということでしょうか。

私も妙案は思い付かないのですが、美しくない方法で……

フレーム分割にして、サイズ0%のフレームにHTMLを置く。このHTMLにはJavaScriptでOnUnloadでconfirmを出すように設定する。残りの100%でPDFを表示する。
ウィンドウの「x」を選択するとウィンドウは消える。代わりに確認ダイアログが表示される。
確認ダイアログで「消さない(再表示する)」を選んだ場合は、フレームの土台ごと新たなウィンドウで開き直す。

……とすると、目的に近いことが出来るのではないかと思います。

ウィンドウの「x」を押された場合に、JavaScriptでウィンドウ破棄前に割り込む方法を知らないので一回消えてしまう方法ですが……。
割り込めるのでしたら、サイズ0のHTMLの中にそれを埋め込んであげれば大丈夫なのではないかと。


[ メッセージ編集済み 編集者: 永井和彦 編集日時 2003-08-07 19:33 ]
貧乏人
会議室デビュー日: 2003/08/07
投稿数: 2
投稿日時: 2003-08-07 19:58
永井様、ありがとうございます!

イメージつきました。
フレーム分割0%はたいへんビューティフルな方法だと思うのですが、
ちょつと「X」を押したときに再読み込みさせる部分がちょっと
抵抗がありますね。。

でも、なんとか解決しそうな予感がします!!
ありがとうございました。
1

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