How to prevent popup using javascript?

18,093

Solution 1

Its not possible. wdm is right. but a more detailed answer is provided here.

How to block pop-up coming from iframe?

Solution 2

I'm pretty sure what you're trying to do is not possible.

Two options...

  1. Avoid iframing sites that have popups.
  2. Ask them if they'll remove the popup or create a special landing page for you. If you are affiliated with them somehow they may help you out.
Share:
18,093
DucDigital
Author by

DucDigital

Enjoy programing

Updated on June 07, 2022

Comments

  • DucDigital
    DucDigital almost 2 years

    Is there anyway I can use javascript to block popup from another website (iframe)?

    Example: I have a website, which iframe to several other sites. One of them has a popup script like this:

    <script type="text/javascript">
    var popunder=new Array()
    popunder[0]="http://www.target.com"
    
    //Specify the width and height of new popunder window (in pixels).
    var width = '700'; 
    var height = '450';
    
    //these are obvious variables. set "yes" or "no".
    var p = 'scrollbars=yes, resizable=yes, toolbar=yes,' + 'menubar=yes, status=yes, location=yes, left=85, top=20, height=' + height + ',width=' + width;
    
    // Load new PopUnder only once per browser session? (0=no, 1=yes)
    // Putting 0 will cause the Popunder to load every time page is loaded
    // Specifying 1 will cause it to load only once per session
    var one_time=0
    
    // That's it! Don't edit the code below unless you're really good. :-P //
    
    function get_cookie(Name) {
      var search = Name + "="
      var returnvalue = "";
      if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search)
        if (offset != -1) { // if the cookie exists
          offset += search.length
          //set the index of beginning value
          end = document.cookie.indexOf(";", offset);
    
        if (end == -1) // set the index of the end of cookie value
             end = document.cookie.length;
             returnvalue = unescape(document.cookie.substring(offset, end))
          }
       }
      return returnvalue;
    }
    
    function loadornot(){
    if (get_cookie('popunder')==''){
    load_pop_power()
    document.cookie="popunder=yes"
    }
    }
    
    function load_pop_power(){
    win2 = window.open(popunder[Math.floor(Math.random()*(popunder.length))], "bw", p)
    win2.blur()
    window.focus()
    }
    
    if (one_time==0)
    load_pop_power()
    else
    loadornot()
    </script>
    

    Provide that this popup cannot be block and user have a low security setting on firefox or IE.

    I have the ff. iframe on the site: (iframe.php)

    <iframe src="http://friend.com/pop.php"></iframe>
    

    What should i do on the iframe.php page to prevent popup?

  • DucDigital
    DucDigital about 13 years
    Can we XSS into the site? Or is it possible to detect only? i can use a script to remove the iframe if detected
  • Farzin Zaker
    Farzin Zaker about 13 years
    Sorry, I never did this and I can not find solution for even detecting popup from javascript. you can find modal windows opened in an iframe, but there is no way to find normal windows opened by an iframe in javascript. the only way to detect is using browser addon!