首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在关闭弹出窗口时调用函数

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

Stack Overflow用户
提问于 2013-08-13 23:42:23
回答 3查看 13.3K关注 0票数 3

我正在调用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和Twitter仍然使用弹出窗口来为用户点赞和关注。转到http://www.ekwebhost.com,点击Facebook的“赞”按钮或Twitter的“关注”按钮。为什么我不能根据自己的需要使用弹出窗口?

EN

回答 3

Stack Overflow用户

发布于 2013-08-13 23:45:47

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

尝尝这个!

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

票数 0
EN

Stack Overflow用户

发布于 2013-08-14 00:11:16

您打开的新窗口将有一个引用创建它的Window对象的名为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>

虽然浏览器弹出窗口本身没有什么问题,但它们可能会令人讨厌,因为用户可能会将它们丢失在其他窗口后面。此外,这也会将他们的注意力从你的页面转移到其他事情上。我目前开发的应用程序正在尝试将我们所有的弹出窗口移动到Javascript对话框。一旦你得到了3个深度弹出窗口,这对用户来说就变得相当烦人了。

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

票数 0
EN

Stack Overflow用户

发布于 2020-01-02 18:21:37

您可以尝试这样做:

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

  }

  function MyThanks() {
    alert("Thanks");
  }
</script>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18213521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档