5

I created a popup scrip where if user click on a certain link it closes and open a link into a new tab. What I am trying to get is to stay on the parent window instead of newly opened tab.

I googled a lot, but didn't find suitable answer.

the solution should work like this enter image description here

Here's my code

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple JQuery Modal Window from Queness</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>

<script type="text/javascript">

$(document).ready(function() {  

        var id = '#dialog';

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set heigth and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //transition effect     
        $('#mask').fadeIn(1000);    
        $('#mask').fadeTo("slow",0.8);  

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);

        //transition effect
        $(id).fadeIn(2000);     

    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();

        $('#mask').hide();
        $('.window').hide();
    });     

    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });     

});


</script>

<style type="text/css">
body {
font-family:verdana;
font-size:15px;
}

a {color:#333; text-decoration:none}
a:hover {color:#ccc; text-decoration:none}

#mask {
  position:absolute;
  left:0;
  top:0;
  z-index:9000;
  background-color:#000;
  display:none;
}  
#boxes .window {
  position:absolute;
  left:0;
  top:0;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:20px;
}
#boxes #dialog {
  width:375px; 
  height:203px;
  padding:10px;
  background-color:#ffffff;
}
</style>
</head><body>

<div id="boxes">
<div style="top: 199.5px; left: 551.5px; display: none;" id="dialog" class="window">
Simple Modal Window | 
<a  class="close" onClick="window.open('http://google.com','').blur();">Close it</a>
</div>
<!-- Mask to cover the whole screen -->
<div style="width: 1478px; height: 602px; display: none; opacity: 0.8;" id="mask"></div>
</div>
</body>
</html>
fiona
  • 55
  • 5
  • So, to clarify: You've got a webpage showing a popup. When they click on the exit button (which contains a link), the popup should close, and open a new tab with the link in the background? – Matthijs van Hest Oct 29 '15 at 14:24
  • hmm.. actually not. the script is doing these now: 1. upon click, the pop up closes. 2. on the same click a new tab is opening. . its perfectly fine. What i am trying to do is to STAY on the parent page while the new tab opens. – fiona Oct 29 '15 at 14:45
  • to be more clear: it should act like as if you are right click on a link and then select "open in new tab" option. does that make sense? I didnt find any solution yet :( – fiona Oct 29 '15 at 14:46
  • 1
    Unfortunately, it's just not possible due to security reasons - if js could open up new tabs *and* focus tabs, pop-ups would be a complete nightmare – jonny Oct 29 '15 at 16:14
  • that would be strange for the user to see a phantom tab appearing – Eugene Tiurin Nov 01 '15 at 22:47

1 Answers1

3

Browser's security won't allow that... sorry :-(

Ronen Cypis
  • 21,182
  • 1
  • 20
  • 25