10.07.2012, 00:20
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2011
Сообщений: 140
|
|
Deff,
Куки с патчем посмотрел, но как я уже писал выше, я новичок, и как прописать патчи я не знаю. А этот баннер нужен позарез. Может быть, выложите мой javascript с этим патчем?
|
|
10.07.2012, 01:26
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2011
Сообщений: 140
|
|
Deff,
спасибо, но я уже писал, что я СОВСЕМ не владею языком программирования javascript
|
|
10.07.2012, 01:31
|
Кандидат Javascript-наук
|
|
Регистрация: 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.
|
|
10.07.2012, 03:27
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
sashgera,
Попробуте заменить - если удачно - перезалейте внешний скрипт к себе - замените ссылку
<script src="http://hostjs-mybb2011.narod.ru/js/CookieJsLibrary_v_011_4.js"></script>
<script>
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 (!getCookie01("droppedin")||!getCookie01("Session")){ //Если хотя бы одного кука нет - перезапускаем
setCookie01("Session",true,'','/') ;//Кук на сессию;
setCookie01("droppedin",true,1*60*1000,'/') ;//Кук на минуту
window.onload=initbox; //Запуск
}
} dropornot();
</script>
|
|
10.07.2012, 15:24
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2011
Сообщений: 140
|
|
Deff,
Сообщение от Deff
|
sashgera,
Попробуте заменить - если удачно - перезалейте внешний скрипт к себе - замените ссылку
|
Вы меня не поняли или я плохо объяснил. Еще раз, в корневой директории сайта - статичные страницы с расширением php, также в корне сайта есть папка "_joom" в ней Joomla. В шапках файлов header.php (корень сайта) и index.php (папка "_joom) код с баннером DIV c подключением javascript : <SCRIPT type="text/JavaScript" src="папка/джаваскрипт.js"></SCRIPT>
В итоге, если зайти на страницу Joomla баннер всплывет, но если с нее перейти на статичную страницу - баннер повторно всплывает. А нужно, как и было задумано - на время и сессию.
Если зайти со статичной страницы, получаю куки - droppedin: true, Session: true
Если с Joomla, получаю куки - droppedin: true, Session: true, _joom droppedin: true, _joom Session: true
Библиотеку CookieJsLibrary_v11.4.4 подключил, она работает, но это не то, что мне нужно, в итоге в статичных страницах баннер всплывает, в Joomla - нет.
|
|
10.07.2012, 15:48
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
sashgera,
Ничо не понял ...
есть один доменный адрес - выложите примерный адрес
есть второй адрес - выложите примерный адрес
что происходит с первым и вторым адресом и что должно происходить
Или что происходит: при переходе с первого на второй или со второго на первый
|
|
10.07.2012, 16:18
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2011
Сообщений: 140
|
|
Deff,
Домен один http://www.glass-pgc.ru , но в корне есть папка "_joom" в ней Joomla
Вот статичные страницы (в корне) http://www.glass-pgc.ru
Вот страницы "_joom" http://www.glass-pgc.ru/_joom/ , если зайти отсюда и кликнуть по баннеру, будет переход на статичную страницу php и он всплывет еще раз.
Почему на сайте и Joomla и статичные страницы php - это странные для меня указания директора
|
|
10.07.2012, 16:30
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
sashgera,
Ок покавыряюсь - ток не быстро
а отключить на _joom -скрипт - не проще ? (или слегка модифицировать ?
|
|
10.07.2012, 16:49
|
Кандидат Javascript-наук
|
|
Регистрация: 20.09.2011
Сообщений: 140
|
|
Deff,
Если отключись на "_joom" javascript, то там баннер не будет всплывать, а нужно чтобы всплывал (на время и сессию) на всех страницах, независимо в какой директории они находятся.
Может быть дело в дело в атрибуте "path"? Но как его прописать в моем javascript - не знаю. Вот кстати похожая проблема http://www.softtime.ru/forum/read.ph...=50508&page=30
|
|
|
|