В поисках «закрытие блока на 24 часа через cookies и jquery» - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.4375
BTC/USD67710.8900
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 19.07.2013, 01:06   #1
smsupport
Senior Member
 
Аватар для smsupport
 
Регистрация: 12.07.2009
Сообщений: 1,579
Бабло: $361075
Smile В поисках «закрытие блока на 24 часа через cookies и jquery»

Может есть у кого такой скрипт? Поиск не выдает нужного результата.
__________________
Swissdoc heavy spec
smsupport вне форума  
Старый 19.07.2013, 02:10   #2
huanpedro
Сеньер Член
 
Аватар для huanpedro
 
Регистрация: 03.04.2010
Сообщений: 1,738
Бабло: $280230
По умолчанию

More
huanpedro вне форума  
Старый 19.07.2013, 12:33   #3
smsupport
Senior Member
 
Аватар для smsupport
 
Регистрация: 12.07.2009
Сообщений: 1,579
Бабло: $361075
ТС -->
автор темы ТС По умолчанию

huanpedro, есть рекламный блок, мне нужно написать над блоком ссылку "закрыть". Когда юзер кликает "закрыть" ставится кука на 24 часа, баннер закрывается и более не показывается. После 24 часов баннер снова будет показываться юзеру.
__________________
Swissdoc heavy spec
smsupport вне форума  
Старый 19.07.2013, 12:41   #4
llittle indian
Ебланнед
 
Регистрация: 28.05.2013
Сообщений: 44
Бабло: $70920
По умолчанию

ну так на body onload повесь проверку куков и выдачу этого блока
llittle indian вне форума  
Старый 19.07.2013, 14:01   #5
huanpedro
Сеньер Член
 
Аватар для huanpedro
 
Регистрация: 03.04.2010
Сообщений: 1,738
Бабло: $280230
По умолчанию

накатал на скорую руку
PHP код:
<html><body>
<
script>
<!--
function 
getCookie(name) {
  var 
matches document.cookie.match(new RegExp(
    
"(?:^|; )" name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g'\\$1') + "=([^;]*)"
  
));
  return 
matches decodeURIComponent(matches[1]) : undefined;
}


function 
setCookie(name) {
    var 
date = new Date( new Date().getTime() + 10*1000 );        // 10 sec
//    var date = new Date; date.setDate( date.getDate() + 1 );    // 1 day
        //    http://learn.javascript.ru/cookie        Help
    
document.cookie=name+"=1; path=/; expires="+date.toUTCString();
}

function 
delCookie(name) {
    
document.cookie=name+"=0; path=/; expires=-1";
    
document.getElementById(name).innerHTML '<table border=2 bgcolor=666666><tr><td><a href="javascript:void(0);" onclick="closeban(\''+name+'\');">Закрыть</a></td></tr><tr><td>Купи мою хрень</td></tr></table>';
}



function 
closeban(name) {
    if (!
navigator.cookieEnabled) {
        
alert('Включите cookie для закрытия блока');
    }
     else
    {
        
document.getElementById(name).innerHTML '<table border=2 bgcolor=ff6666><tr><td><a href="javascript:void(0);" onclick="delCookie(\''+name+'\');">удалить куку</a></td></tr></table>';
        
setCookie(name);
    }
}

function 
openblok(name) {
    if((
getCookie(name))&&(getCookie(name) == 1))
    {
        
document.getElementById(name).innerHTML '<table border=2 bgcolor=ff6666><tr><td><a href="javascript:void(0);" onclick="delCookie(\''+name+'\');">удалить куку</a></td></tr></table>';
    }
     else
    {
        
document.getElementById(name).innerHTML '<table border=2 bgcolor=666666><tr><td><a href="javascript:void(0);" onclick="closeban(\''+name+'\');">Закрыть</a></td></tr><tr><td>Купи мою хрень</td></tr></table>';
    }
}


-->
</script>



<table border=1><tr></td>
<div id="banner"></div>
<script><!--
openblok("banner");
--></script>
</td></tr></table>

</body>
</html> 
huanpedro вне форума  
Старый 19.07.2013, 23:46   #6
huanpedro
Сеньер Член
 
Аватар для huanpedro
 
Регистрация: 03.04.2010
Сообщений: 1,738
Бабло: $280230
По умолчанию

тут чутка форум похерил одну функцию, ее надо поменять на :
Цитата:
function getCookie(name) {
var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
huanpedro вне форума  
Старый 20.07.2013, 17:27   #7
huanpedro
Сеньер Член
 
Аватар для huanpedro
 
Регистрация: 03.04.2010
Сообщений: 1,738
Бабло: $280230
По умолчанию

вот вариант для адсенса
Цитата:
<html><body>
<script>
<!--
function getCookie(name) {
var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
return matches ? decodeURIComponent(matches[1]) : undefined;
}


function setCookie(name) {
var date = new Date( new Date().getTime() + 10*1000 ); // 10 sec
// var date = new Date; date.setDate( date.getDate() + 1 ); // 1 day
// http://learn.javascript.ru/cookie Help
document.cookie=name+"=1; path=/; expires="+date.toUTCString();
}

function delCookie(name) {
document.cookie=name+"=0; path=/; expires=-1";
document.getElementById(name).style = 'display:visible;';
// document.getElementById(name).innerHTML = '<table border=2 bgcolor=666666><tr><td><a href="javascript:void(0);" onclick="closeban(\''+name+'\');">Закрыть</a></td></tr><tr><td>Купи мою хрень</td></tr></table>';
}



function closeban(name) {
if (!navigator.cookieEnabled) {
alert('Включите cookie для закрытия блока');
}
else
{
document.getElementById(name).style = 'display:none;';
// document.getElementById(name).innerHTML = '';
setCookie(name);
}
}

function openblok(name) {
if((getCookie(name))&&(getCookie(name) == 1))
{
document.getElementById(name).style = 'display:none;';
// document.getElementById(name).innerHTML = '';
}
else
{
document.getElementById(name).style = 'display:visible;';
}
}


-->
</script>



<table border=1><tr></td>
<table border=2 bgcolor=ff6666><tr><td><a href="javascript:void(0);" onclick="delCookie(\''+name+'\');">удалить куку</a></td></tr></table>

<div id="banner">
<table border=2 bgcolor=666666><tr><td><a href="javascript:void(0);" onclick="closeban('banner');">Закрыть</a></td></tr><tr><td>АДСЕНС</td></tr></table>
</div>

<script><!--
openblok("banner");
--></script>
</td></tr></table>

</body>
</html>
huanpedro вне форума  
Старый 21.07.2013, 07:30   #8
EmmetBraun
Senior Member
 
Аватар для EmmetBraun
 
Регистрация: 01.05.2008
Сообщений: 556
Бабло: $65596
По умолчанию

В теме jquery, да и чистый js немного диковат
Вот закрытие навсегда. Допилить для 24-ух часов не составит труда.

PHP код:
        jQuery(function(){
            var 
$Banner = $('#banner'),
                
$CloseButton = $('#close'),
                
init = function() {
                    
$CloseButton.on('click', function(){

                        $.
cookie('isBannerClosed''true');
                        
$Banner.hide();
                    });

                    if($.
cookie('isBannerClosed') == 'true') {
                        
$Banner.hide();
                    } 
                };
            
            
init();
        }); 
__________________
сиг нет
EmmetBraun вне форума