我有下面的代码来打开一个新的窗口,每当用户按F2键。jQuery如何防止重新打开新窗口?
$(document).bind('keyup', function(e){
if(e.which==113) {
window.open('newPage.htm','_blank','','false');
}
});
现在,我想阻止用户打开一个新的窗口,而前一个仍然打开。我怎样才能点出它?
我有下面的代码来打开一个新的窗口,每当用户按F2键。jQuery如何防止重新打开新窗口?
$(document).bind('keyup', function(e){
if(e.which==113) {
window.open('newPage.htm','_blank','','false');
}
});
现在,我想阻止用户打开一个新的窗口,而前一个仍然打开。我怎样才能点出它?
var opened = null;
$(document).bind('keyup', function(e){
if (e.which == 113 && (!opened || !opened.window))
opened = window.open('newPage.htm','_blank','','false');
});
你可以试试这个..
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>
给你的窗前,仿佛
var mywindow = window.open("foo.html","windowName");
一个名字,那么你可以检查窗口做
if (mywindow.closed) { ... }
关闭当窗口关闭时,window.docum会发生什么情况恩?它是否为空,也许你可以通过null检查它。
var popupWindow;
$(document).bind('keyup', function(e){
if(e.which==113 && (!popupWindow || !popupWindow.document)) {
popupWindow = window.open('newPage.htm','_blank','','false');
}
});
谢谢ori ... – 2012-02-20 09:10:12
不客气。 – ori 2012-02-20 10:43:36