Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

bring popups to front and refresh

Posted on 2004-04-03
8
Medium Priority
?
1,210 Views
Last Modified: 2008-03-17
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="http://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>
0
Comment
Question by:Marketing_Insists
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 53

Accepted Solution

by:
COBOLdinosaur earned 1000 total points
ID: 10748872
Right after teh open just add:

win.focus();
And that will bring it to the front.

Cd&
0
 

Author Comment

by:Marketing_Insists
ID: 10748993
would that be in the manner of
 onfocus="this.blur();win.focus()
?
0
 

Author Comment

by:Marketing_Insists
ID: 10749006
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="http://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>
0
Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

 
LVL 53

Expert Comment

by:COBOLdinosaur
ID: 10749114
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&
0
 
LVL 25

Assisted Solution

by:devic
devic earned 1000 total points
ID: 10749167
and the first line in your function can be:
if(win)win.close();
0
 
LVL 53

Expert Comment

by:COBOLdinosaur
ID: 10749273
Glad we could help. Thanks for the A. :^)

Cd&
0
 

Author Comment

by:Marketing_Insists
ID: 10749293
Thanks!

Both of you had part of the answer,

You guys in cahoots?  ;-)
0
 
LVL 25

Expert Comment

by:devic
ID: 10749347
;)

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="http://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>
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
A while back, I ran into a situation where I was trying to use the calculated columns feature in SharePoint 2013 to do some simple math using values in two lists. Between certain data types not being accessible, and also with trying to make a one to…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question