gpt4 book ai didi

javascript - 暂停 JavaScript 直到弹出窗口关闭

转载 作者:行者123 更新时间:2023-11-28 08:10:12 24 4
gpt4 key购买 nike

我想做这样的事情:

/*do something*/
var returnValue = /*open a popup window*/
/*do something with return value*/

我发现 showModalDialog 可以完成这项工作,这是 jsfiddle example :

$("#test").click(function() {
var w = window.showModalDialog("about:blank",window , "");
alert("popup closed!");
});

但遗憾的是 iPad 上的 safari 不支持 showModalDialog。我能想到的唯一方法是:

在父窗口中

window.callback = /*callback function after the popup closed*/
/*open a popup window*/

在子窗口中

window.onbeforeunload = function() {
window.opener.callback.call()
}

但是使用回调会使代码难以阅读。有没有更好的方法来暂停 JavaScript 直到弹出窗口关闭?

非常感谢任何建议。

最佳答案

我可以看到你使用了 jQuery。如果您也被允许使用 jQueryUI,您可以使用 jqueryui 对话框小部件:

JS

$(function() {
$( "#dialog" ).dialog({
autoOpen:false,
close: function() {alert('window closed')} //your "on close" logic here
});

$( "#test" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
});

HTML

<div id="dialog" title="My Dialog">
<p>my content </p>
</div>
<button id="test">open blocking popup</button>

JSFiddle

关于javascript - 暂停 JavaScript 直到弹出窗口关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303186/

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