2012-02-20 8 views
0

ユーザーがF2キーを押すたびに新しいウィンドウを開くためのコードがあります。jQueryによる新しいウィンドウの再オープンを防ぐ方法はありますか?

$(document).bind('keyup', function(e){ 
    if(e.which==113) { 
     window.open('newPage.htm','_blank','','false'); 
    } 
}); 

これで、前のウィンドウが開いている間に新しいウィンドウを開くことを防止します。どのように私はそれを点けますか?

答えて

2
var opened = null; 
$(document).bind('keyup', function(e){ 
    if (e.which == 113 && (!opened || !opened.window)) 
     opened = window.open('newPage.htm','_blank','','false'); 
​});​ 
+0

ありがとうございました。 –

+0

よろしくお願いいたします。 – ori

0

あなたはこれを試すことができます。..

var windowOpened=false; 

    $(document).bind('keyup', function(e){ 
     if(e.which==113 && !windowOpened) { 
      window.open('newPage.htm','_blank','','false'); 
      windowOpened=true; 
     } 
    }); 




    In the newPage.htm add code to make windowOpened=false when u close that window. 


< html> 
< head> 
< title>newPage.htm< /title> 
<script> 
function setFalse() 
{ 
    opener.windowOpened = false; 
    self.close(); 
    return false; 
} 
</script> 
< /head> 
< body onbeforeunload="setFalse()"> 
< /body> 
< /html> 
0

あなたの窓

var mywindow = window.open("foo.html","windowName"); 

のような名前を付け、ウィンドウが

if (mywindow.closed) { ... } 
0

を行うことによって閉じられているならば、あなたは確認することができますウィンドウが閉じられると、window.documはどうなりますか? ent?それはnullになりますか、おそらくあなたはnullでそれを確認することができます。

var popupWindow; 

$(document).bind('keyup', function(e){ 
    if(e.which==113 && (!popupWindow || !popupWindow.document)) { 
     popupWindow = window.open('newPage.htm','_blank','','false'); 
    } 
}); 
関連する問題