暂停javascript直到弹出窗口关闭
pause javascript until popup window is closed
我想这样做:
/*do something*/
var returnValue = /*open a popup window*/
/*do something with return value*/
我发现showModalDialog
可以使这个工作,这里是jsfiddle的例子:
$("#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
- 清除窗口Javascript幻灯片
- 弹出窗口JavaScript的站点地图生成器
- 根据弹出窗口javascript的返回值更改asp.net面板的可见性
- 将var添加到新窗口Javascript中
- 如何在引导模式弹出窗口(javascript,jquery)上运行函数
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 将值传递给弹出窗口 [JavaScript]
- 在链接后控制父窗口(JavaScript)
- 将数据发送到单独的窗口javascript
- 正在访问窗口.Javascript 中的应用程序函数
- 将变量从父窗口Javascript函数传递到弹出窗口分区
- 在内容进入打印机之前关闭窗口(JavaScript)
- 窗口.JavaScript中的innerWidth
- 是否可以从子窗口关闭父窗口(Javascript)
- 窗口.javascript中的Innerheight减去数字
- 如果我重写窗口.javascript中的onerror应该返回true还是false
- 计数值后关闭窗口javascript
- 如何在缩略图图像的翻转上显示弹出窗口?Javascript、CSS