By David Hinojosa


2019-02-11 09:12:43 8 Comments

the following code is a pop up code that will pop a window for any URL given. I want to be able to use this code to pop 50% one site, and 50% another site. I am clueless as how I can do this. Any help would be appreciated!

<script type="text/javascript">var pics=[],stat=[],pic=[];</script>
<script type="text/javascript">
    if (top.location != self.location)
        top.location.replace(self.location);
</script>
<script>
    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 && _Top.document.documentElement.clientHeight ) {
            myHeight = _Top.document.documentElement.clientHeight;
        } else if( _Top.document.body && _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 && _Top.document.documentElement.clientWidth ) {
            myWidth = _Top.document.documentElement.clientWidth;
        } else if( _Top.document.body && _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") > -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<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('https://google.com');
            setCookie('popundr', 1, 24*60*60*1000);
        }
    }
    initPu();
</script>

The above code will pop google.com. I want to be able to pop google.com and yahoo.com 50% of the time each.

1 comments

@Dominic 2019-02-11 09:16:31

You can generate a random boolean and base it off that.

var win = doOpen(Math.random() >= 0.5 ? 'https://google.com' : 'https://othersite.com');

If you need it to be exactly 50%, then you can save the last result to localStorage and invert it each time:

const showGoogle = Boolean(localStorage.getItem('showGoogle'));
const win = doOpen(showGoogle ? 'https://google.com' : 'https://othersite.com');
localStorage.setItem('showGoogle', !showGoogle);

Related Questions

Sponsored Content

84 Answered Questions

[SOLVED] How do I make the first letter of a string uppercase in JavaScript?

18 Answered Questions

[SOLVED] How to check if a string "StartsWith" another string?

57 Answered Questions

[SOLVED] How do I include a JavaScript file in another JavaScript file?

58 Answered Questions

[SOLVED] How do I redirect to another webpage?

31 Answered Questions

[SOLVED] How do I make a redirect in PHP?

  • 2009-04-20 14:13:22
  • Sam
  • 2613202 View
  • 1170 Score
  • 31 Answer
  • Tags:   php redirect

18 Answered Questions

[SOLVED] Is there a function to make a copy of a PHP array to another?

  • 2009-10-07 16:11:50
  • vfclists
  • 365766 View
  • 484 Score
  • 18 Answer
  • Tags:   php arrays copy

23 Answered Questions

[SOLVED] How to make an AJAX call without jQuery?

  • 2011-12-19 20:27:46
  • discky
  • 646581 View
  • 729 Score
  • 23 Answer
  • Tags:   javascript ajax

14 Answered Questions

[SOLVED] How to move an element into another element?

  • 2009-08-14 20:14:45
  • Mark Richman
  • 1020812 View
  • 1585 Score
  • 14 Answer
  • Tags:   javascript jquery html

0 Answered Questions

Java script: using multiple prompts and printing them through cookies

2 Answered Questions

[SOLVED] PHP curl downloading cookie & javascript protected file

  • 2013-08-13 08:52:15
  • Saad Bashir
  • 930 View
  • 1 Score
  • 2 Answer
  • Tags:   java php curl

Sponsored Content