2011-07-12 32 views
0

グローバルスコープ変数をどのように使用して "window1"を "window2"から閉じることができるか教えてもらえますか?これは本当にループを起こしていますので、すばらしいです!window.openグローバルスコープ変数javascript

私は1つのリンクと1つのボタンでindex.htmlを持っています。ボタンはウィンドウ1を開き、リンクはウィンドウ2を開きます。ウィンドウ2はウィンドウ1を閉じることができるボタンを持っています。ありがとう!!!

<script type="text/javascript"> 
function openWin1() 
{ 
myWindow=window.open('','',''); 
myWindow.document.write("<p><img src=\"flower.jpg\" /></p>"); 
myWindow.focus(); 
} 
function openWin2() 
{ 
myWindow=window.open('','',''); 
myWindow.document.write("<style type=\"text/css\">body{background-color:yellow;}</style> 
<p><img src=\"bee.jpg\" /></p><input type=\"button\" onclick=\"window.close();\" 
value=\"Close Window 1\" />"); 
myWindow.focus(); 
} 
</script> 
</head> 

<body> 

<input type="button" value="Window 1" onclick="openWin1();" /><br /> 
<a href="javascript:openWin2();">Window 2</a> 

</body> 
</html> 

答えて

0

window.opener.mywindow.close()第2ウィンドウから最初に閉じる。これはローカル(Chromeの作品は、あまりにも他のブラウザで動作するはずです)を試験第二ウィンドウオブジェクト

+0

mmmm ..はい、これを試しました。動作していないようです。多分私はそれを間違っていた?誰にでも提案? – crosby

+0

window.opener.mywindow.close()が機能していません。そう思わないでください。それは機能しなければならない。両方のウィンドウに異なる変数を作成することを忘れないでください – hungryMind

1

のために他の変数名を選択してください:

function openWin1() { 
    myWindow1 = window.open('google.com', '', ''); 
    myWindow1.document.write("<p><img src=\"flower.jpg\" /></p>"); 
    myWindow1.focus(); 
} 

function openWin2() { 
    myWindow2 = window.open('yahoo.com', '', ''); 
    myWindow2.document.write("<style type=\"text/css\">body{background-color:yellow;}</style><p><img src=\"bee.jpg\"></p><input type=\"button\" onclick=\"window.opener.myWindow1.opener = window.self;window.opener.myWindow1.close();\" value=\"Close Window 1\" />"); 
    myWindow2.focus(); 
} 
+0

なぜdownvote? – Mrchief

+0

申し訳ありませんが、私はあなたをdownvoteしていない!投稿していただきありがとうございます – crosby

+0

それは私の兄弟ではなく、親ウィンドウを閉じます – hungryMind

0

両方とも「WINDOW1」と「WINDOW2は」を介して、元のページを参照することができますwindow.opener。したがって、元のページには、他のページのいずれかが次のように呼び出すことができるグローバル関数が公開される可能性があります。

window.opener.closeTheOtherOne(); 
関連する問題