gpt4 book ai didi

javascript - 如何从父窗口关闭模式对话框?

转载 作者:行者123 更新时间:2023-11-28 01:27:35 28 4
gpt4 key购买 nike

如何使用 JavaScript 或 jQuery 在一段时间后或当 session 过期时从主页关闭模式对话框?

使用以下代码打开对话框:

var result = window.showModalDialog("test.aspx" ... );

当计数器到期时必须关闭对话框,如下所示:

 function Discount() {
leftSeconds = leftSeconds - 1;
try { document.getElementById('tbLeft').value = leftSeconds; } catch (ex) { }
if (leftSeconds <= 5) {
clearTimeout(t);
// code for closing modal dialog(s)

} else {
t = setTimeout("Discount()", 1000);
}
}

模态对话框可以从自己关闭,但这不是我的情况的解决方案。

最佳答案

当模式对话框打开时,主页上的 JavaScript 执行会停止,因为它正在等待返回值(即使您可能不想返回一个值,或者对它返回的值执行任何操作)。

您可以通过这个小例子来检查这一点。单击该按钮时,页面将打开,并且计时器停止更新。当您关闭页面时,将恢复执行:

<!DOCTYPE html>
<html>
<head>
<script>
var t = 0;
function count() {
document.getElementById('div').innerHTML = ++t;
}
var timer = setInterval(count, 1000);
</script>
</head>
<body>
<div id='div'></div>
<button onclick="window.showModalDialog('http://www.google.es');">Open window</button>
</body>
</html>

因此,如果您想自动关闭窗口,则需要从新文档本身执行此操作。我的建议?在模态页面的 window.load 事件中实现计时器,以便它可以在所需时间后自行关闭。

window.onload = function() {
setTimeout(function() { window.close(); }, 60000); //close window after 1 minute.
};

关于javascript - 如何从父窗口关闭模式对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22505861/

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