gpt4 book ai didi

javascript - 当我的javascript打开的窗口关闭时如何捕获事件

转载 作者:行者123 更新时间:2023-11-30 18:11:33 25 4
gpt4 key购买 nike

情况是这样的。使用 JavaScript,我打开一个窗口,其中包含我域中的 URL,显示加载指示器。

大约一秒钟后,窗口的 URL 更改为 PayPal 窗口(其他域)。我希望能够在用户关闭 paypal 窗口时捕获事件,这样我就可以将用户重定向到正确的页面,说明支付失败。

我遇到了 window.onbeforeunload 但是当 url 更改为 PayPal 时会触发那个,但之后窗口关闭时不会触发。我该如何克服这个问题?

所以,这似乎不起作用,我在这里找不到任何其他答案:

    ppwin = window.open('paypal/loading.php', 'paypal_popup', 'width=900,height=500');
ppwin.onbeforeunload = function(){
//triggered when URL changes
if (ppwin.closed) // false because window is still open.
// Order failed
}

即使我接受了答案,我仍然不满意。它有效,但仅此而已。如果有人提供更好的答案,我会更高兴!

最佳答案

我遇到了同样的问题,最后我做的是让父窗口定期检查弹出窗口是否关闭。任何替代解决方案都让我抓狂。

代码可能是这样的:

// Create popup window
var popup = window.open('http://www.google.com');

// Set interval to check if it has been closed
var windowCheckInterval = setInterval(function() { windowCheck(); }, 300);

// Check function
function windowCheck() {
if (!popup || popup.closed) {
clearInterval(windowCheckInterval);

// Do something
}
}

虽然是很粗鲁的方案,但是用户体验很好,编程也很简单。

您必须记住在进程以不同方式完成时(不仅仅是在窗口关闭时)清除间隔,如果有的话。

关于javascript - 当我的javascript打开的窗口关闭时如何捕获事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14458113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com