web技 |
◆【スクリプト】
※確認ダイアログを表示しないようにするためには、window.close() の前にwindow.opener="dummy" という一行を付加します。
-----次の行から(copy)-----
window.opener="dummy"
window.close()
-----上の行まで(copy)-----
◆【使用例1】
※親ウィンドウからモーダルウィンドウを開くとき
window.showModalDialog("login.html","Login_D");
詳細は[技b006]ダイアログボックス(モーダルウィンドウ)を開く、を参照して下さい。
※下記は、子ウィンドウに引き渡される値window.dialogArgumentsがLogin_Dでないとき、すなわち所定の親ウィンドウからオープンされなかったとき(直接アドレスバーにURLを入力してアクセスしたとき等)、強制的にウィンドウをクローズするサンプルです。
※window.opener="dummy"がないと、alertダイアログのあとでウィンドウクローズの確認ダイアログが表示されます。
※条件に合致しなかったらdocument.body.style.visibility='hidden';でウィンドウの内容を表示しないようにしています。
-----次の行から(copy)-----
//親ウィンドウ(index.html)から引き渡された値のチェック
if (window.dialogArguments!="Login_D"){
document.body.style.visibility='hidden';
alert("所定のページからリンクされていないので操作継続できません。");
window.opener="dummy"
window.self.close();
}
-----上の行まで(copy)-----
◆【使用例2】
※エラーが発生したとき/オープン時 window.onerror=ErrTrap;を実行しておきます。
※下記は、エラーが発生したときErrTrap()が実行され、アラートダイアログが表示されたあとウィンドウをクローズします。
※window.opener="dummy"がないと、alertダイアログのあとでウィンドウクローズの確認ダイアログが表示されます。
※エラーが発生したらdocument.body.style.visibility='hidden';でウィンドウの内容を表示しないようにしています。
-----次の行から(copy)-----
//エラー処理(1)---オープン時実行
window.onerror=ErrTrap;
//エラー処理(1-2)
function ErrTrap(errMsg,errFile,errNo) {
document.body.style.visibility='hidden';
alert("◆" + errMsg+"\n◆" + errFile +"\n◆"+errNo + "\n\n■エラーが発生したのでウィンドウをクローズします。");
window.opener="dummy"
window.self.close()
}
-----上の行まで(copy)-----
|