Link to home
Start Free TrialLog in
Avatar of Marketing_Insists
Marketing_Insists

asked on

bring popups to front and refresh

when a user requests a pop-up via link, is their a way to make sure the pop-up appears on top of the page
 instead of behind it if the previous popupof the same name lost focus?

The user requested links open up precisely sized images, sole swf's or external websites in the center
of the page.  If they skip manually closing the first popup and request another popup on the parent page,
the old popup loses focus and loads the a new pop-up behind the parent page, hiding it from the user.

Not only that but the next popup that opens has the same dimmensions as the last pop-up, even though
the new popup's size is defined otherwise (hence my desire for the popup to refresh)

Because the pop-up's aren’t always HTML, I'm hoping that the code to bring the pop-up to the front is
contained in the parent HTML page.

(I could just load a new pop-up each time, but that would obviously clutter things up and peeve the user.)


here's what I have:

<html><head>
<script language="javascript" type="text/javascript">
<!--
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
// -->
</script></head>

<body><br><br>

First link load's without a problem<br>
<a href="https://www.experts-exchange.com/images/indexLogo.gif" onclick="NewWindow(this.href,'same-popup','350','25','no','center');return false" onfocus="this.blur()">link to picture</a>
<br><br>
...but if you click on the next link without closing the previous one manually
(with the close 'X' in the upper right corner of the browser), the popup loses focus
and loads the next popup behind the parent page<br>
<a href="http://oddtodd.com/laidoff2.swf" onclick="NewWindow(this.href,'same-popup','300','200','no','center');return false" onfocus="this.blur()">Link to flash</a>
<br><br>
Not only that but the next popup that opens has the same dimmensions as the last
pop-up, even though the new popup's size is defined otherwise<br>
<a href="http://google.com" onclick="NewWindow(this.href,'same-popup','500','400','no','center');return false" onfocus="this.blur()">Link to web page</a>
<br><br><br>
Currently, each page must be closed manually so that the next one will load correctly

</body></html>
ASKER CERTIFIED SOLUTION
Avatar of COBOLdinosaur
COBOLdinosaur
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Marketing_Insists
Marketing_Insists

ASKER

would that be in the manner of
 onfocus="this.blur();win.focus()
?
Ooops, just noticed that the pevious code won't work in IE

tis again;
<html>
<head>
<script language="javascript" type="text/javascript">
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
</script>
</head>
<body><br><br>
<a href="https://www.experts-exchange.com/images/indexLogo.gif" onclick="NewWindow(this.href,'same','350','25','no','center');return false" onfocus="this.blur()">Link-to-picture</a>
<br><br>
<a href="http://oddtodd.com/laidoff2.swf" onclick="NewWindow(this.href,'same','300','200','no','center');return false" onfocus="this.blur()">Link-to-flash</a>
<br><br>
<a href="http://google.com" onclick="NewWindow(this.href,'same','500','400','no','center');return false" onfocus="this.blur()">link-to-html</a>

</body></html>
Right here where you open:

win=window.open(mypage,myname,settings);}

Just change it to:

win=window.open(mypage,myname,settings);win.focus();}

And it will bring it to the top in order to bring focus to it.

Cd&
SOLUTION
Avatar of devic
devic
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Glad we could help. Thanks for the A. :^)

Cd&
Thanks!

Both of you had part of the answer,

You guys in cahoots?  ;-)
;)

btw, i noticed, if i open the window with location ".sfw", i can not close this window at once.
here another version:
================
<html>
<head>
<script language="javascript" type="text/javascript">
var win=null;
function NewWindow(mypage,myname,w,h,myscroll,pos)
{
if(win)win.close();
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
var settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',myscrollbars='+myscroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win=window.open("about:blank",myname,settings);
win.document.write("<html><body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0><body>")
var ext=mypage.substr(mypage.lastIndexOf('.')+1)
if(ext.match(/gif|jpg|png/))win.document.write("<img src="+mypage+">");
else if(ext=="swf")win.document.write("<embed src="+mypage+" width=100% height=100% type=application/x-shockwave-flash></embed>");
else win.document.write("<iframe src="+mypage+" width=100% height=100% width=100% height=100% frameborder=0></iframe>");
win.document.write("</body></html>")
win.focus();
}
</script>
</head>
<body><br><br>
<a href="https://www.experts-exchange.com/images/indexLogo.gif" onclick="NewWindow(this.href,'same','350','25','no','center');return false">Link-to-picture</a>
<br><br>
<a href="http://oddtodd.com/laidoff2.swf" onclick="NewWindow(this.href,'same','300','200','no','center');return false">Link-to-flash</a>
<br><br>
<a href="http://google.com" onclick="NewWindow(this.href,'same','500','400','no','center');return false">link-to-html</a>
</body></html>