title: Popunder script that works on all mobiles
body: <p>I have tested around 15 different popunder scripts to find one that works on all mobiles. The following script is the best one I've found and works perfectly on my Galaxy S3 but annoyingly pops-over on a Galaxy S5. I need the script to popunder on any action on the screen, so that it opens in the background without interfering with the current page. This script has everything I need aside from the fact it behaves differently depending on what Android device it's run on. Can anyone please assist in editing this JavaScript code so it pops-under on all Android browsers and not just some?</p>
  
  <p>Here is the code:</p>
  
  <pre><code>var puShown = false;
  var PopWidth = 1370;
  var PopHeight = 800;
  var PopFocus = 0;
  var _Top = null;
  
  function GetWindowHeight() {
    var myHeight = 0;
    if (typeof(_Top.window.innerHeight) == 'number') {
      myHeight = _Top.window.innerHeight;
    } else if (_Top.document.documentElement &amp;&amp; _Top.document.documentElement.clientHeight) {
      myHeight = _Top.document.documentElement.clientHeight;
    } else if (_Top.document.body &amp;&amp; _Top.document.body.clientHeight) {
      myHeight = _Top.document.body.clientHeight;
    }
    return myHeight;
  }
  
  function GetWindowWidth() {
    var myWidth = 0;
    if (typeof(_Top.window.innerWidth) == 'number') {
      myWidth = _Top.window.innerWidth;
    } else if (_Top.document.documentElement &amp;&amp; _Top.document.documentElement.clientWidth) {
      myWidth = _Top.document.documentElement.clientWidth;
    } else if (_Top.document.body &amp;&amp; _Top.document.body.clientWidth) {
      myWidth = _Top.document.body.clientWidth;
    }
    return myWidth;
  }
  
  function GetWindowTop() {
    return (_Top.window.screenTop != undefined) ? _Top.window.screenTop : _Top.window.screenY;
  }
  
  function GetWindowLeft() {
    return (_Top.window.screenLeft != undefined) ? _Top.window.screenLeft : _Top.window.screenX;
  }
  
  function doOpen(url) {
    var popURL = "about:blank"
    var popID = "ad_" + Math.floor(89999999 * Math.random() + 10000000);
    var pxLeft = 0;
    var pxTop = 0;
    pxLeft = (GetWindowLeft() + (GetWindowWidth() / 2) - (PopWidth / 2));
    pxTop = (GetWindowTop() + (GetWindowHeight() / 2) - (PopHeight / 2));
    if (puShown == true) {
      return true;
    }
    var PopWin = _Top.window.open(popURL, popID, 'toolbar=0,scrollbars=1,location=1,statusbar=1,menubar=0,resizable=1,top=' + pxTop + ',left=' + pxLeft + ',width=' + PopWidth + ',height=' + PopHeight);
    if (PopWin) {
      puShown = true;
      if (PopFocus == 0) {
        PopWin.blur();
        if (navigator.userAgent.toLowerCase().indexOf("applewebkit") &gt; -1) {
          _Top.window.blur();
          _Top.window.focus();
        }
      }
      PopWin.Init = function(e) {
        with(e) {
          Params = e.Params;
          Main = function() {
            if (typeof window.mozPaintCount != "undefined") {
              var x = window.open("about:blank");
              x.close();
            }
            var popURL = Params.PopURL;
            try {
              opener.window.focus();
            } catch (err) {}
            window.location = popURL;
          }
          Main();
        }
      };
      PopWin.Params = {
        PopURL: url
      }
      PopWin.Init(PopWin);
    }
    return PopWin;
  }
  
  function setCookie(name, value, time) {
    var expires = new Date();
    expires.setTime(expires.getTime() + time);
    document.cookie = name + '=' + value + '; path=/;' + '; expires=' + expires.toGMTString();
  }
  
  function getCookie(name) {
    var cookies = document.cookie.toString().split('; ');
    var cookie, c_name, c_value;
    for (var n = 0; n &lt; cookies.length; n++) {
      cookie = cookies[n].split('=');
      c_name = cookie[0];
      c_value = cookie[1];
      if (c_name == name) {
        return c_value;
      }
    }
    return null;
  }
  
  function initPu() {
    _Top = self;
    if (top != self) {
      try {
        if (top.document.location.toString())
          _Top = top;
      } catch (err) {}
    }
    if (document.attachEvent) {
      document.attachEvent('onclick', checkTarget);
    } else if (document.addEventListener) {
      document.addEventListener('click', checkTarget, false);
    }
  }
  
  function checkTarget(e) {
    if (!getCookie('popundr')) {
      var e = e || window.event;
      var win = doOpen('http://www.mediamoby.com/4g9s0hc8/');
      setCookie('popundr', 1, 24 * 60 * 60 * 1000);
    }
  }
  initPu();
  </code></pre>