Javascript 为什么';执行window.open调用后的t代码?

Javascript 为什么';执行window.open调用后的t代码?,javascript,Javascript,我有一些非常简单的javascript代码,如下所示: var newWindow = window.open("",""); if (newWindow != null) { newWindow.document.write("<HTML><HEAD><TITLE>hi</TITLE></HEAD>"); newWindow.document.close(); } document.getElementById('sta

我有一些非常简单的javascript代码,如下所示:

var newWindow = window.open("","");
if (newWindow != null)
{
   newWindow.document.write("<HTML><HEAD><TITLE>hi</TITLE></HEAD>");
   newWindow.document.close();
}

document.getElementById('status1').innerHTML = "opened a new window";
var newWindow=window.open(“,”);
if(newWindow!=null)
{
newWindow.document.write(“hi”);
newWindow.document.close();
}
document.getElementById('status1').innerHTML=“打开了一个新窗口”;

但是由于某些原因,文档.getElementById。。。角色永远不会被调用。这是意料之中的事,还是我做错了什么?(是的,status1已定义)

正如Guffa所说,查找错误消息
newWindow。文档
可能为空或未定义,因为打开窗口可能比执行
newWindow!=null

表示您收到错误消息。您是否打开(IE)或打开控制台(Firefox等)以查看错误消息?在Chrome和Firefox中适用于我:在您执行代码时是否存在ID为
status1
的元素?@FelixKling在Safari中为我,弹出窗口阻止程序会停止窗口打开,因此,
newWindow
为空,
newWindow.document.write
永远不会被调用。是,在调用innerHTML时存在status1。如果我把那行放在window.open调用之前,它会被很好地执行。此外,我还尝试在firebug(ff)中调试它,但当它出现在window.open行时,它会终止firebug会话。不过,您的代码在Safari中运行得非常好。即使使用我原来的小提琴,
document.getElementById
行也会被执行。当然,如果未打开(阻止)窗口,则不会执行
if
语句中的代码。你说“document.getElementById…部分永远不会被调用”,这不是真的,它会被调用。那么你现在的问题是什么?