Javascript 为什么调用window.open()后需要编写alert()?

Javascript 为什么调用window.open()后需要编写alert()?,javascript,Javascript,我在这个链接上有一个页面index.jsp 此文件包含名为validateloginForm()的JavaScript方法,用于验证输入字段 如果字段被填充,那么它将重定向到另一个JSP页面,但是当我删除警报(“after”)行,则不会重定向到另一页 请告诉我为什么在调用window.open()后需要此警报(“之后”) 浏览器不会等待window.open()引用的URL加载后再返回。因此,如果没有警报(),您的“validateloginForm”函数将立即返回 通常,浏览器中的内容是异步的

我在这个链接上有一个页面
index.jsp

此文件包含名为
validateloginForm()
的JavaScript方法,用于验证输入字段

如果字段被填充,那么它将重定向到另一个JSP页面,但是当我删除
警报(“after”)窗口.open()下的code>行,则不会重定向到另一页

请告诉我为什么在调用
window.open()
后需要此
警报(“之后”)


浏览器不会等待
window.open()
引用的URL加载后再返回。因此,如果没有
警报()
,您的“validateloginForm”函数将立即返回


通常,浏览器中的内容是异步的。尤其是,无法等待
window.open()
完成。当然,您可以将页面中的代码加载到新窗口中,并在父(“opener”)页面上调用一些函数。

因为
window.open
之后的代码会立即执行,而此时不会加载窗口

使用
.alert
只是巧合,如果在加载窗口之前取消了警报,它仍然无法工作

var newwin = window.open("validateUser.jsp?"+"empId="+empId+"&empPass="+empPass,"_parent","",""); 
newwin.onload = function() {
    //do stuff
};
感谢你们两位(伊莎莉亚和波蒂)向我解释这一点。
var newwin = window.open("validateUser.jsp?"+"empId="+empId+"&empPass="+empPass,"_parent","",""); 
newwin.onload = function() {
    //do stuff
};