Javascript 自动提交表单,5秒后关闭窗口,无提示
使用下面的代码,我可以让网页自动正确提交表单。我试图弄清楚如何让脚本延迟5秒,然后关闭窗口,而不询问用户是否希望关闭窗口 本页面将用于我们公司内部发布由供应商提供的产品。因为它将在我们的网络中,所以窗口很可能是IE,供任何使用它的人使用 我无法让脚本在5秒后关闭窗口。我试图在不使用jQuery的情况下实现这一点。这就是我目前所拥有的Javascript 自动提交表单,5秒后关闭窗口,无提示,javascript,html,Javascript,Html,使用下面的代码,我可以让网页自动正确提交表单。我试图弄清楚如何让脚本延迟5秒,然后关闭窗口,而不询问用户是否希望关闭窗口 本页面将用于我们公司内部发布由供应商提供的产品。因为它将在我们的网络中,所以窗口很可能是IE,供任何使用它的人使用 我无法让脚本在5秒后关闭窗口。我试图在不使用jQuery的情况下实现这一点。这就是我目前所拥有的 <html> <body> <br/> <h3>Launching GE Web Viewer ... Pleas
<html>
<body>
<br/>
<h3>Launching GE Web Viewer ... Please Wait</h3>
<br/>
<form id="frmLaunchViewer" method="POST" action="https://geview.abc.org/startwebviewer.jnlp">
<input type="hidden" name="user" value="MyUserName">
<input type="hidden" name="password" value="MyPassword">
<script>
document.getElementById('frmLaunchViewer').submit();
window.setTimeout(CloseMe, 500);
</script>
<script>
function CloseMe()
{
window.close();
}
</script>
</form>
</body>
正如埃文·诺尔斯(Evan Knowles)所说,如果你提交一份表格,就会刷新页面。您应该使用ajax发布表单:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
if(xmlhttp.status == 200){
window.close();
}
}
}
xmlhttp.open("POST", "https://geview.abc.org/startwebviewer.jnlp", true);
xmlhttp.send(new FormData(document.getElementById("frmLaunchViewer")));
等待5秒钟是没有用的,除非发送表单的数据需要5秒钟。最好使用ajax回调,而不是希望5秒钟就足以完成该过程。如果您真的需要,请参阅blex的评论。试试这个-
<script>
document.getElementById('frmLaunchViewer').submit();
window.setTimeout(CloseMe, 5000);
</script>
<script>
function CloseMe()
{
close();
}
</script>
请检查这些-
通过javascript关闭打开的页面=/=关闭浏览器,一个程序。通常不能关闭浏览器窗口,除非它是您的代码用窗口打开的窗口。打开。5秒是5000毫秒,您忘记了0。您可能想阅读以下内容:如果您正在发布表单,页面将刷新,删除所有现有计时器。设置某种变量,可能是localStorage,以指示您已提交表单,然后您可以尝试重定向-关闭可能无法工作;500不是5秒,而是半秒。