Survey Popup Script Question (want to set the frequency)

Discussion in 'JavaScript' started by eskwire, Aug 21, 2008.

  1. #1
    I have a customer survey that I want to pop up for every X number of visitors. I have the code for the popup when they leave the page but not sure how to make it random or happen once for every 10 visitors.

    Any Ideas?

    Thanks!

    <body OnUnLoad="checkCount()" bgcolor="#ffffff">
    <script LANGUAGE="JavaScript">

    <!-- Exit Survey Popup script on exit. Place this code directly beneath the body tag -->
    
    <!-- Begin
    var expDays = 14; // number of days the cookie should last
    var page = "http://www.hostedsurvey.com";
    var windowprops = "width=400,height=300,location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes";
    
    function GetCookie (name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
    return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
    }
    return null;
    }
    function SetCookie (name, value) {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) +
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
    ((path == null) ? "" : ("; path=" + path)) +
    ((domain == null) ? "" : ("; domain=" + domain)) +
    ((secure == true) ? "; secure" : "");
    }
    function DeleteCookie (name) {
    var exp = new Date();
    exp.setTime (exp.getTime() - 1);
    var cval = GetCookie (name);
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
    }
    var exp = new Date();
    exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
    function amt(){
    var count = GetCookie('count')
    if(count == null) {
    SetCookie('count','1')
    return 1
    }
    else {
    var newcount = parseInt(count) + 1;
    DeleteCookie('count')
    SetCookie('count',newcount,exp)
    return count
    }
    }
    function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
    endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
    }
    
    function checkCount() {
    var count = GetCookie('count');
    if (count == null) {
    count=1;
    SetCookie('count', count, exp);
    
    window.open(page, "", windowprops);
    
    }
    else {
    count++;
    SetCookie('count', count, exp);
    }
    }
    // End -->
    </script>
    Code (markup):

     
    eskwire, Aug 21, 2008 IP
  2. cont911

    cont911 Peon

    Messages:
    50
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Suppose checkCount() may be the following:

    function checkCount()
    {
    // get counter
    var count = GetCookie('count');
    if (count == null)
    {
    count=0;
    }

    // show popup every X time
    if((count % X) == 0)
    {
    window.open(page, "", windowprops);
    }

    // increase counter & set cookie
    count++;
    SetCookie('count', count, exp);
    }
     
    cont911, Aug 22, 2008 IP