Solved

Centering popup windows in the middle of your browser window

Posted on 2009-07-08
2
455 Views
Last Modified: 2012-05-07
The script below works in both Safari and IE, but while it will pop open a window in Firefox, it doesn't size it or center it in the middle of the browser window.

I need it in the center in the bowser window due to multiple screens and some other issues.

Again, it works fine in both Safari and IE 7/8 but not FireFox.

Thanks for any help you can provide!
<!--//**************************************

// Name: Center Popup Windows

// Description:Center popup windows in the middle of your browser.

// By: Lewis E. Moten III

//

//

// Inputs:None

//

// Returns:None

//

//Assumes:None

//

//Side Effects:None

//This code is copyrighted and has limited warranties.

//Please see http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.2634/lngWId.2/qx/vb/scripts/ShowCode.htm

//for details.

//**************************************

 -->
 

function getbrowserwidth()

    {

    	if (navigator.userAgent.indexOf("MSIE") > 0)

			{

        		return(document.body.clientWidth);

        	}

        else
 
 

            {

            		return window.outerWidth;

            	}

        }

        function getbrowserheight()
 
 

            {

            	if (navigator.userAgent.indexOf("MSIE") > 0)
 
 

                	{

                		return(document.body.clientHeight);

                	} 

                else
 
 

                    {

                    		return(window.outerHeight);

                    	}

                }

                var popup = new Object()

                function CenterPopup(URL, width, height)
 
 

                    {

                    	// get center of browser window

                    	var X = getbrowserwidth() / 2

                    	var Y = getbrowserheight() / 2

                    	

                    	popup = window.open(URL, 'PopUp', 'scrollbars=yes ' + 'width=' + width + ' ' + 'height=' + height + ' ' + 'top=' + (window.screenTop + (Y - (height/2))) + ' ' + 'left=' + (window.screenLeft + (X - (width/2))) 

                    		)

                    	

                    	popup.focus()

                }

Open in new window

0
Comment
Question by:GSMadMan
2 Comments
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 500 total points
Comment Utility
VERY poor code with MANY issues and syntax errors

Please see this

<script><!--

//**************************************

// Name: Center Popup Windows

// Description:Center popup windows in the middle of your browser.

// By: Lewis E. Moten III

// Seriously Fixed: Michel Plungjan, javascripts(at)plungjan.name

//

// Inputs:None

//

// Returns:false if successfull open of window, true if not

//

//Assumes:None

//

//Side Effects:None

//This code contains so little of the original code that it can no longer be said to be copyrighted by the original author and has limited warranties.

//Please do not try to find the code here anymore: http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.2634/lngWId.2/qx/vb/scripts/ShowCode.htm

//for details.

//**************************************

//

 

function getbrowserwidth() {

  return (window.outerWidth)? window.outerWidth: document.body.clientWidth;

}

function getbrowserheight() {

return (window.outerHeight)?window.outerHeight:document.body.clientHeight;

}

function CenterPopup(URL, target, width, height) {

  // get center of browser window

  var X    = getbrowserwidth() / 2

  var Y    = getbrowserheight() / 2

  var winTop  = (window.screenTop  !=null)?window.screenTop:window.screenY;

  var winLeft = (window.screenLeft !=null)?window.screenLeft:window.screenX;

  var top  = (winTop+ (Y - (height/2)))

  var left = (winLeft + (X - (width/2)))

  var popup = window.open(URL, target, 'scrollbars=yes,width='+width+',height='+height+',top='+top+',left='+left);

  if (popup) {

    popup.focus()

    return false;

  }

  return true; // follow link, user has a popup blocker

}

// --></script>

<a href="http://www.google.com/search?q=center+popup" onClick="return CenterPopup(this.href,this.target,400,500)" target="PopUp">Click</a>

Open in new window

0
 

Author Closing Comment

by:GSMadMan
Comment Utility
Thank you for your code repair! It works fine in all 3 browsers (Safari, Firefox and IE) that we support and test for.

While I didn't write the above code, comparing your changes have helped me a lot!

Thank you!
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This article shows how to create and access 2-dimensional arrays in JavaScript.  It includes a tutorial in case you are just trying to "get your head wrapped around" the concept and we'll also look at some useful tips for more advanced programmers. …
Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
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…

762 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now