2017-07-28 96 views
0

我已經創建了一個代碼,用於在彈出窗口中打開youtube視頻幾秒鐘。這段代碼中的一切都運行良好。我需要的只是在用戶要關閉彈出窗口時向用戶發出警報。現在問題是彈出式窗口與父窗口無關,所以我怎樣才能關閉它?在關閉彈出窗口(Javascript)上創建警報消息

這裏是我使用

$(document).ready(function() { 

    var myWindow; 
    $("#idview").click(function() { 
     var vidurl = 'www.youtube.com'; 
     counter(); 
     myWindow = window.open(vidurl, "popupWindow", "width=600, height=400, scrollbars=yes"); 

    }); 

    function counter() { 
     var n = $('.c').attr('id'); 
     var c = n; 
     $('.c').text(c); 
     setInterval(function() { 
      c++; 
      if (c <= 41) { 
       $('.c').text(c); 
      } 
      if (c == 41) { 
       $('.c').text(n); 
      } 
     }, 1000); 
    } 



    setInterval(function() { 
     myWindow.close(); 
    }, 45000); 

    window.onbeforeunload = closingCode; 

    function closingCode() { 
     alert('hitme'); 
     return null; 
    } 


}); 

我只是想火的功能關閉彈出窗口前的代碼。

+0

[ENT呃鏈接描述](https://stackoverflow.com/questions/16735076/popup-before-window-is-closed)它可以幫助你。 –

回答

0

如果你想在關閉彈出窗口之前觸發一個函數。只需在關閉窗口之前調用它即可。

setInterval(function() { 
    your_callback_function(); 
    myWindow.close(); 
}, 45000); 
0

試試這個:

$(function() { 
    if (condition) { 
     window.close(); 
    } 
} 

或:

if (condition){  
    $('dialog id').dialog('close');  
} 
0

你可以這樣做

myWindow = window.open(vidurl, "popupWindow", "width=600, height=400, scrollbars=yes");  
    myWindow.onbeforeunload = closingCode; 
+0

但問題是這是不工作,因爲父窗口和彈出窗口是不同的。就像我的窗口是www.abcd.com一樣。彈出網址是youtube.com –