2011-07-12 159 views
0

任何人都可以告訴我如何使用全局範圍變量,以便我可以從「window2」關閉「窗口1」?這真的把我扔了一個循環,所以任何幫助將大!window.open全局範圍變量javascript

我有index.html 1鏈接和1按鈕。按鈕打開窗口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()先關閉。選擇其他變量名測試了本地(在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

兩個「窗口1」和「窗口2」可以通過參考原始頁面window.opener。因此,您的原始頁面可能會顯示其他頁面可以調用的全局函數,如下所示:

window.opener.closeTheOtherOne();