关闭弹出窗口时如何调用函数

时间:2013-08-13 15:42:23

标签: javascript

我正在调用Javascript window.open()函数在弹出窗口中加载另一个url。 当用户关闭弹出窗口时,我希望调用MyThanks()函数。我怎么能这样做?

我的剧本:

<!DOCTYPE html>
<html>
<head>
    <script>
    function openWin(){
        myWindow=window.open('http://facebook.com/ekwebhost','','width=600,height=400,left=200');
        myWindow.focus();
    }

    function MyThanks(){
        alert("Thanks");
    }
    </script>
</head>
<body>

    <input type="button" value="Open window" onclick="openWin()" />

</body>
</html>

关于弹出窗口的使用:

你知道Facebook&amp; Twitter仍然为用户提供弹出窗口,例如&amp;跟随。转到http://www.ekwebhost.com并点击Facebook“赞”按钮或Twitter“关注”按钮。为什么我不能根据自己的需要使用弹出窗口?

3 个答案:

答案 0 :(得分:0)

function openWin(){
    myWindow=window.open('http://facebook.com/ekwebhost','','width=600,height=400,left=200');
    // Add this event listener; the function will be called when the window closes
    myWindow.onbeforeunload = function(){ alert("Thanks");}; 
    myWindow.focus();
}

试试这个!

您可以换出function(){ alert("Thanks");}; MyThanks来调用您的函数。

答案 1 :(得分:0)

您打开的新窗口将具有一个名为opener的属性,该属性引用创建它的Window对象。然后,您可以通过调用window.opener.MyThanks();

在父窗口上调用函数

弹出窗口:

<script type="text/javascript">
  function closePopup() {
    window.opener.MyThanks();
    window.close();
  }
</script>
<div>
  <h1>My Popup</h1>
  <!-- Form or info to display -->
  <button onclick="closePopup();">Close</button>
</div>

虽然浏览器弹出窗口没有任何固有的错误,但它们可能很烦人,因为用户可能会在其他窗口后面丢失它们。此外,它会将您的焦点从您的页面上移开来做其他事情。我目前开发的应用程序试图将所有弹出窗口移动到Javascript对话框。一旦你获得3个弹出窗口,它对用户来说非常烦人。

您可以通过多种方式在网页中创建对话框。 jQuery UI是我喜欢的一个图书馆。

答案 2 :(得分:0)

您可以尝试以下方法:

  <script>
    function openWin(){
        myWindow=window.open('http://facebook.com/ekwebhost','','width=600,height=400,left=200');
        myWindow.focus();
       MyThanks();

    }
     function MyThanks(){
        alert("Thanks");
    }


    </script>