Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Popup Windows: The Basics

We'll begin the tutorial by creating a basic popup window. The technique described here addresses all the major issues in popups. The popup always comes to the front. Different links can target the same popup. The code is simple and easily modified. Everything for the rest of the turorial is a variation on the theme described here. The code in this page creates a popup that is opened from a link. In this section we'll show the code with just the minimal description you need to get it going. For more details see Under the Hood: Details of the Popup Script.

First, copy this script into the <HEAD> section of your page:

<SCRIPT TYPE="text/javascript">
<!--
function popup(mylink, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=400,height=200,scrollbars=yes');
return false;
}
//-->
</SCRIPT>

For now we'll skip the details of how the script works, (see Under the Hood: Details of the Popup Script for a line-by-line description), and move to the next step. The script above opens the popup, but something needs to run the script. The most common situation is that the script is run when the user clicks on a link. A link like the following would run the script:

<A 
   HREF="popupbasic.html" 
   onClick="return popup(this, 'notes')">my popup</A>

which creates this link:

my popup

Most of the link is as usual. The URL of the page being linked to is in the HREF attribute. We've added an additional attribute called onClick. Copy the code as it is into your link, with only a small modification. The second argument of the popup() -- 'notes' -- indicates name of the popup window. Every popup window should have its own unique name. Be sure to put the name in single quotes (''). So if you want to name the popup 'stevie' then this would be the code:

<A HREF="popupbasic.html" onClick="return popup(this, 'stevie')">my popup</A>

Read This Next Part Or You'll Go Insane Trying to Figure Out Why Your Popup Doesn't Work

A small but crucial point is often overlooked. The command in onClick must begin with return or the script won't work. Be sure to start the command with return like this:
onClick="return popup(this, 'notes')"
And don't put a space in the page name between the single quotes.  If you do, the link will act just like a regular link.
Now we've created and opened the popup, but there's one detail left. One of the most frustrating problems with popups is that once they are opened they have an annoying tendency to stay in the background. The first time the user clicks the link the popup pops up in front, but if the user then clicks back on the main page again without closing the popup and then clicks on a link to open the popup again, it won't come back to the front. It stays stubbornly in the background, leaving the user to wonder why the link didn't work.

To avoid this problem we have one more piece of code. This code does not go in the main page. Put the following code in the popup page itself. So, for example, the link above opens the page "popupbasic.html", so the following code is in "popupbasic.html", not the page you are reading right now.

<SCRIPT TYPE="text/javascript">
<!--
window.focus();
//-->
</SCRIPT>

When the page in the popup is loaded, this script tells the browser to put the focus on the popup. This means that the popup comes to the front every time.

That's all the basic pieces to a popup. Everything from here out is a variation on this theme.

 
 
  Copyright 1997-2002 Idocs inc. Published under the terms of the Open Content License Design by Interspire