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

Javascript 关闭弹出窗口时如何调用函数,javascript,Javascript,我调用Javascriptwindow.open()函数在弹出窗口中加载另一个url。 当用户关闭弹出窗口时,我希望调用MyThanks()函数。我怎么能做到 我的剧本: <!DOCTYPE html> <html> <head> <script> function openWin(){ myWindow=window.open('http://facebook.com/ekwebhost','','width=60

我调用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>

函数openWin(){
myWindow=窗口。打开('http://facebook.com/ekwebhost宽度=600,高度=400,左边=200’;
myWindow.focus();
}
函数MyThanks(){
警惕(“谢谢”);
}

关于弹出窗口的使用:


您是否知道Facebook和Twitter仍然使用弹出窗口供类似于和关注的用户使用。转到并单击Facebook的“喜欢”按钮或Twitter的“关注”按钮。为什么我不能根据自己的需要使用弹出窗口

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();
}
试试这个


您可以交换掉
函数(){alert(“Thank”);}
用于调用您的函数。

您打开的新窗口将有一个名为
opener
的属性,该属性引用创建它的
窗口
对象。然后可以通过调用
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>

函数closePopup(){
window.opener.mythonks();
window.close();
}
我的弹出窗口
接近
虽然浏览器弹出窗口本身并没有什么问题,但它们可能很烦人,因为用户可能会在其他窗口后面丢失它们。此外,他们的注意力也会从你的页面转移到做其他事情上。我目前开发的应用程序正在尝试将所有弹出窗口移动到Javascript对话框。当你有3个弹出窗口时,用户会非常恼火

有很多方法可以在网页中创建对话框。是我喜欢的一个库。

您可以尝试以下方法:

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

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


    </script>

函数openWin(){
myWindow=窗口。打开('http://facebook.com/ekwebhost宽度=600,高度=400,左边=200’;
myWindow.focus();
神话银行();
}
函数MyThanks(){
警惕(“谢谢”);
}

查找
开瓶器
。啊。弹出窗口,然后是关闭弹出窗口时出现的弹出窗口。你被困在1995年了吗?我们在二十年前就消除了所有这些垃圾。你知道吗,Facebook和Twitter仍然使用弹出窗口来支持用户喜欢和关注。转到并单击Facebook的“喜欢”按钮或Twitter的“关注”按钮。为什么我不能根据自己的需要使用弹出窗口?打开另一个域会使你失去了解弹出窗口中发生了什么的能力。如果你想让某人喜欢某样东西,你可能应该使用facebook apisNote
myWindow
必须与你为
window声明的变量相同。open
适合我。这是一个比我更好的答案,尤其是如果你不能控制弹出内容的话。我照你说的做。去吧,你会看到我的作品的。这项工作之前,完全加载页面。当弹出内容完全加载时,它无法工作。那个么你们现在有什么建议呢?我对弹出窗口并没有任何控制权。那么我现在能做什么呢?你应该在你的问题上加上这个限制。如果您无法控制弹出窗口,它如何关闭?加载的URL是否有Javascript调用
window.close()
?点击打开窗口。这将在弹出窗口中打开facbook风扇页面。当页面满负荷时,点击关闭按钮(x)。我希望当您单击“关闭”按钮,然后运行MyThanks()函数时,我在脚本中编写了该函数。它不起作用,因为该页面覆盖了窗口事件。您必须逐步浏览该页面上的javascript,并找出如何在卸载前向其事件处理程序注册
onbeforeuload