dポイントプレゼントキャンペーン実施中!

こういう画面を閉じるスクリプトを実行した場合、
parent.top.window.close();

「閉じようとしています。」
「はい」「いいえ」の選択を確認してきますね。
「はい」ならもちろん閉じる。
「いいえ」なら、画面が残る。
本来はこういう動きをすると思います。

最終的には、
「はい」を選択した場合には普通に閉じる。
「いいえ」を選択した場合に、
別のfunction()へ飛ばしてしまう仕組みを作りたいのです。
因みに飛ばした先のfunction()は、簡易パスワード認証です。


今考えているのはこんな感じですが、

parent.top.window.close();
abc();

「はい」でも「いいえ」でも、abc()へ飛びます。
画面を閉じた場合でも、abc()が実行されてしまうのが困ります。
閉じた場合は、大人しく閉じてくれるスクリプトの例を教えてくれませんか?

A 回答 (1件)

多分、現在の「閉じようとしています」の選択肢は、ブラウザのセキュリティの仕様で表示されているものだと思います。



それに関しては、「はい」だろうが「いいえ」だろうがユーザが作ったJavaScriptの制御は出来ないと思います。

親ウィンドウが存在しないウィンドウをスクリプトで閉じようとすると上の表示が出ると思います。
親ウィンドウから派生した子ウィンドウで、confirmを使用して、「はい」「いいえ」を出し条件分岐させないといけないと思います。


if ( confirm("画面閉じますか?") ) {
  // はいの時の動作
  this.window.close();
} else {
  // いいえの時の動作
  abc();
}

こんな感じなら実現可能かと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!