Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New to the CF scene
    Join Date
    Jun 2013
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    How can I display multiple popups?

    I've been using an old script to display popups that looks like this:

    Code:
    <a href="javascript:;" onClick="MM_openBrWindow('MySite/Aids/Popups/World.php?MySS=<?php echo $MySiteID.$PopParent; ?>','IRNA','scrollbars=yes,resizable=yes,width=175,height=250')">
    It works fine, but I thought it was time to keep up with the latest technology, so I upgraded to this:

    Code:
    <a href="MySite/Aids/Popups/World.php?MySS=<?php echo $MySiteID.$PopParent; ?>" rel="popup standard 150 400 noicon">PopUp</a>
    I love the lighter script, and it works fine, except for one thing - I discovered that I can now only open one popup window at a time. The first script allows me to open multiple popups.

    Can anyone tell me how to modify my JavaScript to enable multiple popups? I've made a few changes, but nothing works so far. I posted the JavaScript below. Thanks.

    Code:
    var newWindow = null;
    
    function closeWin(){
    	if (newWindow != null){
    		if(!newWindow.closed)
    			newWindow.close();
    	}
    }
    
    function popUpWin(url, type, strWidth, strHeight){
    	
    	closeWin();
    		
    	type = type.toLowerCase();
    	
    	if (type == "fullscreen"){
    		strWidth = screen.availWidth;
    		strHeight = screen.availHeight;
    	}
    	var tools="";
    	if (type == "standard") tools = "resizable,toolbar=no,location=no,scrollbars=yes,menubar=no,width="+strWidth+",height="+strHeight+",top=0,left=0";
    	if (type == "life") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
    	if (type == "console" || type == "fullscreen") tools = "resizable,toolbar=no,location=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
    	newWindow = window.open(url, 'newWin', tools);
    	newWindow.focus();
    }
    
    function doPopUp(e)
    {
    //set defaults - if nothing in rel attrib, these will be used
    var t = "standard";
    var w = "780";
    var h = "580";
    //look for parameters
    attribs = this.rel.split(" ");
    if (attribs[1]!=null) {t = attribs[1];}
    if (attribs[2]!=null) {w = attribs[2];}
    if (attribs[3]!=null) {h = attribs[3];}
    //call the popup script
    popUpWin(this.href,t,w,h);
    //cancel the default link action if pop-up activated
    if (window.event) 
    	{
    	window.event.returnValue = false;
    	window.event.cancelBubble = true;
    	} 
    else if (e) 
    	{
    	e.stopPropagation();
    	e.preventDefault();
    	}
    }
    
    function findPopUps()
    {
    var popups = document.getElementsByTagName("a");
    for (i=0;i<popups.length;i++)
    	{
    	if (popups[i].rel.indexOf("popup")!=-1)
    		{
    		// attach popup behaviour
    		popups[i].onclick = doPopUp;
    		// add popup indicator
    		if (popups[i].rel.indexOf("noicon")==-1)
    			{
    			popups[i].style.backgroundImage = "url(pop-up.gif)";
    			popups[i].style.backgroundPosition = "0 center";
    			popups[i].style.backgroundRepeat = "no-repeat";
    			popups[i].style.paddingLeft = "15px";
    			}
    		// add info to title attribute to alert fact that it's a pop-up window
    		popups[i].title = popups[i].title + " [Opens in pop-up window]";
    		}
    	}
    }
    
    addEvent(window, 'load', findPopUps, false);

  • #2
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,047
    Thanks
    0
    Thanked 251 Times in 247 Posts
    Change this:

    Code:
    newWindow = window.open(url, 'newWin', tools);
    to:

    Code:
    newWindow = window.open(url, '_blank', tools);


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •