showModalDialog の戻り値は IE および Firefox では取得できますが、Google Chrome では Null が返されます。解決策は以下で紹介されています。
親ページ:
function openwindows(){
var obj = new Object(); / モーダル サブフォームを開き、戻り値を取得します。
var retval = window.showModalDialog("ordervideo.jsp?rderIds=" "0010,0020,0030",obj,"dialogWidth=500px;dialogHeight=500px"); 🎜>
//Chrome の場合
if(retval == unknown) {
retval = window.returnValue;
}
alert(retval)
サブページ:
コードをコピー
if(window.opener != unknown) { //window.opener の値は Google Chrome では空ではありませんが、IE/Firefox では未定義です。これにより決定されます。 Google Chrome かどうか
window.opener.returnValue = flag //Google Chrome での戻り値の割り当てメソッド window.opener.close() //これを一度閉じる必要があります。閉じないと次のウィンドウが閉じられます。 Google Chrome のポップアップ ウィンドウは新しいウィンドウであるため、実行された .close() はポップアップ ウィンドウを閉じることができません。
}
else {
window.returnValue=flag;割り当てメソッドは IE/Firefox と互換性がありますが、Google Chrome とは互換性がありません。
}
window.close();