質問失礼致します。
現在、JavaScriptにて以下処理を実装しようとしています。
1、親画面から子画面を開く
2、子画面を閉じる
3、子画面が閉じたことにより、親画面の関数が実行される
javascript
1var win = window.open('', 'child', 'height=100,width=100'); 2win.write('<html><head>'); 3win.write('<script type="text/javascript">'); 4win.write(`<!-- 5function clickBtn(){ 6 window.close(); 7} 8-->`); 9win.write('</script></head><body>'); 10win.write('<input type="button" value="閉じる" onClick="clickBtn()">'); 11win.write('</body></html>');
3の子画面が閉じる→親画面のイベント(関数)が走り出す、というところで躓いており、どうにか子画面が閉じたことを親画面側で検知させる方法を探しております。
####試したこと
以下のように、子画面が開いた後、子画面が閉じられた場合は検知する処理を書こうとしたのですが、以下ではうまくいきませんでした。
$(win).on('load', function(){ $(win).on('unload', function () { console.log("Hello world"); }); });
有識者の方、ぜひお力をお借りできれば幸いです。
「試したこと」部分、もう少しコードの全体がわかるような提示の仕方でお願いします。
この書き方だと<script>で囲われてないので子画面のscript実行されないのでは。
``
win.write(`<!--
function clickBtn(){
window.close();
}
-->`);
``
コメントありがとうございます。
大部分を省きすぎて必要なところまで省いてしまいました。失礼しました。コードを追加致しました。
試したこと部分は「試したこと」見出しで分けるために上記コードと分断して書いてはいますが、そのまま他コードなど挟むことなく上記コードにくっつけて一続きに書かれています。他にコードはありません。
回答4件
あなたの回答
tips
プレビュー