アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
JavaScriptのonUnloadについてご教授願います。

下記のサンプルソースなのですが
Google Chrome(13.0.782.218 m)では正常に動作します。

Internet Explorer(7.0.5730.13)では正常に動作しません。

また、ローカル環境で動作させるとセキュリティ保護のため、このコンピュータにアクセスする可能性のある・・・
と表示され許可するとInternet Explorerでも正常に動作します。

ソースを改造することにより解決出来ますでしょうか?

お手数をお掛け致しますがどうぞよろしくお願いいたします。

main.html
-----------------------------------------------------------

<html>
<head>
</head>
<body onUnload="kozinWin.close()">
<INPUT TYPE="BUTTON" value="個人情報保護方針" onClick="kozinWin=window.open('information.html' , 'kozin'

, 'width=750, height=500, menubar=no, toolbar=no, scrollbars=yes')";>
</body>
</html>

-----------------------------------------------------------

information.html

-----------------------------------------------------------

<html>
<head>
</head>
<body>
個人情報
</body>
</html>

-----------------------------------------------------------

A 回答 (3件)

ヘッダー部にwindowを閉じたときのイベントを記載したらどうでしょうか?



<head>
<script language="javascript">
function window.onunload()
{
try
{
if(kozinWin && !kozinWin.closed)
kozinWin.close();
}catch(oErr){}
}
</script>
</head>
    • good
    • 0
この回答へのお礼

nicorus 様

ご回答頂きましてどうもありがとうございました。
大変勉強になりましたが小生の環境では解決には至りませんでした。

お礼日時:2011/09/06 10:19

IE8 では正常動作するようです。


http://jsfiddle.net/2VfDu/3/

気になるのは window.open されなかった場合に ReferenceError が発生することでしょうか。
以下、ReferenceError が発生しない修正例です。
http://jsfiddle.net/2VfDu/4/

> また、ローカル環境で動作させるとセキュリティ保護のため、このコンピュータにアクセスする可能性のある・・・
> と表示され許可するとInternet Explorerでも正常に動作します。
IE の仕様です。ローカルテストする際は Apache 等のサーバソフトを入れるのがベストだと思います。
    • good
    • 0
この回答へのお礼

think49 様

ご教授頂いた方法で問題が解決しました。
本当にどうもありがとうございました。

お礼日時:2011/09/06 10:18

余談ですが、この手のモノはモーダルで処理するのも意味があります。


ブラウザごとに挙動が微妙に違うのが怪しいですが
IEやFirefoxなら

window.showModalDialog('information.html' , 'kozin' ,'dialogHeight:500px; dialogWidth:750px;')

のような開き方をしてみてください。
(javascriptで制御する時点でブラウザ依存はいずれにしろ避けられないので)
    • good
    • 0
この回答へのお礼

yambejp 様

前回に続きご回答を頂きましてありがとうございました。
残念ながら小生の環境では正常に動作しませんでした。

大変勉強になりました。

お礼日時:2011/09/06 10:22

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