Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.05.2013, 18:37
Новичок на форуме
Отправить личное сообщение для 9_Dima_9 Посмотреть профиль Найти все сообщения от 9_Dima_9
 
Регистрация: 30.05.2013
Сообщений: 1

Проблема с js кликандера
Добрый вечер всем. Есть js скрипт кликандера, в котором окно всплывает каждую минута, а нужно каждые 24 часа. Помогите пожалуйста исправить.
if (navigator.cookieEnabled)
{
   var pop_under = null;
   var pop_cookie_name = "ub50111112";
   var pop_timeout = 1;

   function pop_cookie_enabled()
   {
      var is_enabled = false;
      if (!window.opera && !navigator.cookieEnabled)
       return is_enabled;

      if (typeof document.cookie == 'string')
        if (document.cookie.length == 0)
        {
           document.cookie = "test";
           is_enabled = document.cookie == 'test';
           document.cookie = '';
        }
          else
          {
             is_enabled = true;
          }
          return is_enabled;
   }

   function pop_getCookie(name)
   {
      var cookie = " " + document.cookie;
      var search = " " + name + "=";
      var setStr = null;
      var offset = 0;
      var end = 0;
      if (cookie.length > 0)
      {
         offset = cookie.indexOf(search);
         if (offset != -1)
         {
            offset += search.length;
            end = cookie.indexOf(";", offset);
            if (end == -1)
            {
               end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return(setStr);
   }

   function pop_setCookie (name, value)
   {
       document.cookie = name + "=" + escape(value) + ";expires=Friday,31-Dec-50 23:59:59 GMT; path=/;";
   }

   function show_pop()
   {
     

      var pop_wnd = "http://site.ru/";
      
      
   
     

     
      var fea_wnd = "scrollbars=1,resizable=1,toolbar=1,location=1,menubar=1,status=1,directories=0";
      var need_open = true;
      if (document.onclick_copy != null)
        document.onclick_copy();
      if (document.body.onbeforeunload_copy != null)
        document.body.onbeforeunload_copy();
      if (pop_under != null)
      {
        if (!pop_under.closed)
          need_open = false;
      }

      if (need_open)
      {
         if (pop_cookie_enabled())
         {
            val = pop_getCookie(pop_cookie_name);
            if (val != null)
            {
               now = new Date();
               val2 = new Date(val);
                utc1 = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds());
                utc2 = Date.UTC(val2.getFullYear(), val2.getMonth(), val2.getDate(), val2.getHours(), val2.getMinutes(), val2.getSeconds());
      
                if ((utc1 - utc2)/1000 < pop_timeout*60)
                {
                   need_open = false;
                }
            }
        }
    }

    if (need_open)
    {
       under = window.open(pop_wnd, "", fea_wnd);
       under.blur();
   
       
       
       
       window.focus();
       if (pop_cookie_enabled())
       {
          now = new Date();
          pop_setCookie(pop_cookie_name, now);
       }
      }
   }

   function pop_init()
   {
        var ver = parseFloat(navigator.appVersion);
        var ver2 = (navigator.userAgent.indexOf("Windows 95")>=0 || navigator.userAgent.indexOf("Windows 98")>=0 || navigator.userAgent.indexOf("Windows NT")>=0 )&&(navigator.userAgent.indexOf('Opera') == -1)&&(navigator.appName != 'Netscape') &&(navigator.userAgent.indexOf('MSIE') > -1) &&(navigator.userAgent.indexOf('SV1') > -1) &&(ver >= 4);
      if (ver2)
      {
         if (document.links)
         {
            for (var i=0; i<document.links.length; i++)
            {
               if (document.links[i].target != "_blank")
               {
                  document.links[i].onclick_copy = document.links[i].onclick;
                  document.links[i].onclick = show_pop;
              }
           }
        }
      }
      document.onclick_copy = document.onclick;
      document.onmouseup = show_pop;return true;
   }
   pop_init();
}




onunload="window.location.replace('site.ru/');"
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2013, 15:54
Интересующийся
Отправить личное сообщение для Solonik Посмотреть профиль Найти все сообщения от Solonik
 
Регистрация: 14.06.2013
Сообщений: 29

Попробуйте в 91-ой строке поменять условие
там берется две даты когда зашел клиент из кук и текущая дата и сравнивается.


Сейчас голова слабо работает с формулой попробуйте
в начале например исправить
var pop_timeout = 60;
или тут
if ((utc1 - utc2)/1000 < pop_timeout*3600)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Js + Ie7 проблема onuvidelsolnce Internet Explorer 4 28.03.2011 20:21
Не запускается скрипт JS vandy3 AJAX и COMET 3 07.12.2010 09:43
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35