window.closeについて
[上に]
[前に]
[次に]
ohhashi
1998/04/02(木) 17:06:14
初心者なものでちょっと変な質問をしますが
JavaScriptでwindow.closeを発行した場合、
確認のダイアログが表示されますが
この確認ダイアログを表示せずにwindowを
closeさせる方法はあるのでしょうか?
また、NNでは、初めに起動したHTML内で
window.closeを発行した時は、確認ダイアログ
が表示されずにwindowがcloseしますが
ボタンなどを押下した後に表示されるHTML内に
window.closeを記述すると確認ダイアログが
表示されてしまいます。
これも表示させない方法がありましたらご教示
願います。
TAM
[E-Mail]
1998/04/08(水) 17:43:07
アンカーやフォームでTARGET="WINTITLE" などを使って新たにウィンドウを
オープンしていないでしょうか?
open()関数でウィンドウを新たにオープンした場合は、close()しても確認ダイアログは
表示されません。
HTMLの機能でオープンしたウィンドウをJavaScript関数がクローズしようとしているので、
確認ダイアログが表示されるのだと思います。
TAM
1998/04/09(木) 17:44:47
追加です。
新たにウィンドウをオープンするのではなく、同一画面にページを表示した場合です。
この場合、元のページと同じ URL のページに移動したとしても、close() した時点で
確認ダイアログ(confirm)が表示されます。
理由は、「history objects に一つでも履歴がたまると、close() した時点で
確認ダイアログを表示する」という、JS のセキュリティポリシーだからです。
最初のページを読み込んだ時点では、通常 history はない状態ですが、
アンカーやフォームなどを使ってページを移動した場合、history に履歴が生成されます。
ボタンなどからコールされるイベントプロシジャに Location.replace() を記述して
任意のページに移動すれば、history に履歴は生成されません。
この方法を使えば、OK です。
ただし、コーディングに自由度がなく、大変ではないでしょうか。
その他に、「署名付き JS」を利用する手もあるかも...
ohhashi
1998/04/10(金) 11:35:25
[[解決]]
貴重なご意見ありがとうございました。
さっそく試してみます。
[上に]
[前に]
[次に]