Показать сообщение отдельно
  #34 (permalink)  
Старый 10.07.2012, 01:31
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

куки и директории сайта
При загрузке сайта выезжает блок с рекламой, при закрытии блока он не показывается в течение ~какого-то времени (сейчас 1 минута). Все работает (помог мне в этом Deff). Вот тестовая страница http://www.glass-pgc.ru/1.php
Но есть небольшая проблема - в корне директории сайта, есть еще папка "_joom", в ней тоже находятся страницы сайта. Соответственно куки получаю: droppedin: true, Session: true и _joom droppedin: true, _joom Session: true
Проблема заключается в том, что если зайти на страницу, которая в директории "_joom", баннер всплывет, но если с нее перейти на страницу которая в корне, баннер всплывает еще раз.
Если у кого есть желание оказать помощь - дописать javascript, буду благодарен
DIV
<div id="dropin" style="position:fixed;visibility:hidden;left:40%;top:500px;width:430px;height:480px;background-color:#EBEBEB">
<div align="right"><a href="1.php" onClick="dismissbox();return false">
<img src="banner/img/close.png" border=0 vspace=0 hspace=0 align="right" width="32" height="32" alt="закрыть"/>
</a></div>
<p><center><font style="font-size:19px; color:#FF0000;">Здесь текст</font><br><br><a href="1.php"><img src="img1/no_image_.jpg"   border="0"></a><br><br>
<a href="1.php"><b>Подробнее>>></b></a>
</center></p>
</div>


Javascript
<script>
function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}


var ie=document.all
var dom=document.getElementById
var ns4=document.layers
var calunits=document.layers? "" : "px"

var bouncelimit=32 //(must be divisible by 8)
var direction="up"

function initbox(){

  if (!dom&&!ie&&!ns4) return;
  crossobj=(dom)?document.getElementById("dropin").style : ie? document.all.dropin : document.dropin
  scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
  crossobj.top=scroll_top-250+calunits
  crossobj.visibility=(dom||ie)? "visible" : "show"
  dropstart=setInterval("dropin()",25)
}

function dropin(){
  scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
  if (parseInt(crossobj.top)<100+scroll_top)
     crossobj.top=parseInt(crossobj.top)+40+calunits
  else{
     clearInterval(dropstart)
  }
}

function bouncein(){
  crossobj.top=parseInt(crossobj.top)-bouncelimit+calunits
  if (bouncelimit<0){ bouncelimit+=8;
      bouncelimit=bouncelimit*-1;
  }

  if (bouncelimit==0) clearInterval(bouncestart)
}

function dismissbox(){
  if (window.bouncestart) clearInterval(bouncestart)
  crossobj.visibility="hidden"
}
function truebody(){
   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function dropornot(){
  if (!getcookie("droppedin")||!getcookie("Session")){ //Если хотя бы одного кука  нет  - перезапускаем
     setcookie("Session",true) ;//Кук на сессию;
     setcookie("droppedin",true,1*60*1000) ;//Кук на минуту

     window.onload=initbox; //Запуск 
 }
} dropornot();
</script>

Последний раз редактировалось sashgera, 10.07.2012 в 01:48.
Ответить с цитированием