2016-07-14 9 views
0

こんにちは私はLaravelで作業しています。ポップアップウィンドウを開く必要があります。ポップアップウィンドウを閉じると、私はajax呼び出しを行う必要があります。 Firefoxでは正常に動作していますが、Chromeでは初めての動作ですが、2回目の動作ではありません。ここに私のコードは次のとおりです。window.closeがChromeで動作しない

<span class="input-group-addon add_btn"> 
    <a onclick="OpenClassRoomNewTab('#/roomno?iframe=true');" id="dayvisitStudents3" class="btn btn-primary">+</a> 
</span> 

// JavaScript 
function OpenClassRoomNewTab(url) { 
    winchild = window.open(url, '_blank', 'height=500,width=500'); 
    winchild.onunload = function() { 
     var win = winchild.opener; 
     if (!winchild.closed) { 
      win.roomBind(); 
     } 
    } 
} 

function roomBind() { 
    window.setTimeout(function() { 
     if (winchild.closed) { 
      $.ajax({ 
       type: 'post', 
       data: '', 
       url: '<?php echo url('refreshdropdown'); ?>', 
       success: function (responseText) { 
        if (responseText) { 
         $('#classRoomArea').empty(); 
         $('#classRoomArea').append(responseText.roomno); 
        } 
       } 
      }); 
     } 
    }, 1); 
} 

私はコードをデバッグしようとした(winchild.closed)初めてその作業が、二度目の条件が常にfalseの場合、問題はこの部分です。

答えて

0

私はあなたが考えている方法を変えるべきだと思います。 winchild(ポップアップ)で、window.openerでメソッドをトリガーするunloadイベントを作成します。

ここではそれが答えている:

https://stackoverflow.com/a/1777985/916000

+0

ハロータハはFirefoxでの提案が、その作業罰金をありがとうございましたが、window.closedイベントはクロームで動作しません –

関連する問題