2011-12-29 19 views
0

私はこのようになりますいくつかの非常に簡単なJavaScriptコードがあります。なぜwindow.open呼び出しが実行された後にコード化しないのですか?

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"; 

をしかし、いくつかの理由でのdocument.getElementById ...一部が呼び出されることは決してありません。これが期待されているのですか、何か間違っていますか? (はい、ステータス1が定義されています)

+2

これは、エラーメッセージが表示されることを示唆しています。エラーメッセージが表示されるように(IE)でエラーメッセージを表示したか、コンソール(Firefoxなど)を開いたことがありますか? – Guffa

+5

ChromeとFirefoxで動作します:http://jsfiddle.net/WrvDN/コードを実行するときにID「status1」の要素が存在しますか? –

+0

Safariで私のために@FelixKling、ポップアップブロッカーがウィンドウのオープンを止めるので、 'newWindow'はnullであり、' newWindow.document.write'は決して呼び出されません。 http://jsfiddle.net/WrvDN/1/ – Douglas

答えて

1

Guffaによると、エラーメッセージを探します。ウィンドウを開くには、newWindow != nullを実行するより時間がかかる可能性があるため、newWindow.documentはnullまたは未定義の可能性があります。