Помогите в код встроить хранение Cookies

saymong

Мой дом здесь!
Регистрация
29 Сен 2010
Сообщения
610
Реакции
430
Здравствуйте.
Имею вот такой код
Код:
<script>
var am_sb_norm;function am_gc(name){if(document.cookie.length>0){start=document.cookie.indexOf(name+"=");if(start!=-1){start=start+name.length+1;end=document.cookie.indexOf(";",start);if(end==-1)end=document.cookie.length;return unescape(document.cookie.substring(start,end))}}return""}function am_sc(name,val,endh){var exdate=new Date;endh=exdate.getHours()+endh;exdate.setHours(endh);document.cookie=name+"="+escape(val)+(endh==null?"":";expires="+exdate.toGMTString()+";path=/;")}var am_sb_f=0;if(navigator.plugins){if(navigator.plugins["Shockwave Flash"]){am_sb_f=1;}}var am_sb_stf=1;function am_sb_x_show(){if(am_sb_stf==1){document.getElementById('am_sb_panel').style.visibility="visible";}}function am_sb_close(){setTimeout(function(){document.body.removeChild(document.getElementById('am_sb'));am_sb_xn++;am_sc('am_sb_xn',am_sb_xn,18);},1000);}var am_sb_xn=am_gc('am_sb_xn');if(am_sb_xn==""){am_sb_xn=1;}else{am_sb_xn=parseInt(am_sb_xn);}if(am_sb_xn<=1000){var am_sb=document.createElement("div");am_sb.setAttribute("id","am_sb");document.body.appendChild(am_sb);var am_sb_bl=(navigator.language || navigator.systemLanguage || navigator.userLanguage || 'xx').substr(0,2).toLowerCase();var am_sb_date=new Date();document.getElementById('am_sb').innerHTML='<div id="am_sb_w" style="position:fixed;right:0;bottom:0px;z-index:10000;width:300px;height:270px;"><div id="am_sb_panel" style="height:20px;width:100%;visibility:hidden;"><img src="http://mysite.ru/images/panelb.png" width="300px" height="20px" usemap="#amap" border="0"><map name="amap"><area shape="rect" coords="0,0,128,20" href="http://mysite.ru/" target="_blank" alt="mysite.ru" /><area shape="rect" coords="275,0,300,20" onclick="am_sb_close();" title="\u0417\u0430\u043a\u0440\u044b\u0442\u044c" style="cursor:pointer;" /></map></div><div id="amsb_frame" style="height:250px;width:100%;"><object id="amflash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="300" height="250"><param name="movie" value="http://mysite.ru/banners/ban2.swf"><param name="quality" value="high"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"><embed src="http://mysite.ru/banners/ban2.swf" flashvars="targetWindow=_blank" quality="best" width="300" height="250" name="flash_banner" align="center" type="application/x-shockwave-flash" pluginspace="http://www.macromedia.com/go/getflashplayer" wmode="transparent" allowscriptaccess="always"></object></div></div>';setTimeout(am_sb_x_show,7000);}function am_sb_listener(event){switch(event.data){case 'am_sb_x_show':am_sb_stf=1;am_sb_x_show();break;case 'am_sb_x_hide':am_sb_stf=0;document.getElementById('am_sb_panel').style.visibility="hidden";break;case 'am_sb_close':am_sb_stf=0;setTimeout(function(){document.body.removeChild(document.getElementById('am_sb'));},1000);break;case 'am_sb_kill':am_sb_stf=0;am_sb_close();break;case 'am_sb_350':document.getElementById('am_sb_w').style.width="350px";document.getElementById('am_sb_w').style.height="320px";document.getElementById('am_sb_panel').style.width="350px";document.getElementById('am_sb_panel').innerHTML="<img src=\"http://b.am11.ru/be/be3dacadc376a90.png\" width=\"350px\" height=\"20px\" usemap=\"#amap\" border=\"0\"><map name=\"amap\"><area shape=\"rect\" coords=\"0,0,128,20\" href=\"http://advmaker.ru/\" target=\"_blank\" alt=\"Advmaker.ru\" /><area shape=\"rect\" coords=\"325,0,350,20\" onclick=\"am_sb_close();\" title=\"\u0417\u0430\u043a\u0440\u044b\u0442\u044c\" style=\"cursor:pointer;\" /></map>";document.getElementById('amsb_frame').style.width="350px";document.getElementById('amsb_frame').style.height="300px";document.getElementById('amfr1').style.width="350px";document.getElementById('amfr1').style.height="300px";break;}}if(window.addEventListener){window.addEventListener("message",am_sb_listener,false);}document.getElementById('am_sb').onmouseover=function(e){am_sb_switcher=0;};document.getElementById('am_sb').onmouseout=function(e){am_sb_switcher=1;};function onBlur(e){window.document.getElementById('amfr1').contentWindow.postMessage("deactivate","*");};function onFocus(e){window.document.getElementById('amfr1').contentWindow.postMessage("activate","*");};function onCheckMove(e){window.document.getElementById('amfr1').contentWindow.postMessage("activate","*");window.removeEventListener("mousemove",onCheckMove,false);};if('\v'!='v'){window.addEventListener("focus",onFocus,false);window.addEventListener("blur",onBlur,false);window.addEventListener("mousemove",onCheckMove,false);}
</script>

Это код всплывающего баннера, с кнопкой закрыть (close).
Скрипт работает, баннер закрывается, НО, он не сохраняет в куки, что его закрыли и при переходе на следующую страницу, появляется снова.

Помогите настроить его так, чтобы он сохранял куки на 12 часов о том, что его закрыли...
Заранее благодарю....
 
saymong если используешь jquery.cookie то можешь использовать вот это:

HTML:
<script type="text/javascript">
   $(document).ready(function(){
     if( $.cookie("COOKIENAME") != "1" ){
    
       $("div#show_this_div_id").css({visibility:"visible"});
       /*
            Сюда добавить код, типо если нажимаешь на ЗАКРЫТЬ то вызываем функцию setCurrentCookie()
      */
    
     }
   });
   function setCurrentCookie(){
     var datum = new Date();
     datum.setTime(datum.getTime()+(720*60*1000));
     $.cookie("COOKIENAME",1,{expires:datum});
   };
</script>

куки создаётся на 12 часов.
 
saymong если используешь jquery.cookie то можешь использовать вот это:

HTML:
<script type="text/javascript">
   $(document).ready(function(){
     if( $.cookie("COOKIENAME") != "1" ){
   
       $("div#show_this_div_id").css({visibility:"visible"});
       /*
            Сюда добавить код, типо если нажимаешь на ЗАКРЫТЬ то вызываем функцию setCurrentCookie()
      */
   
     }
   });
   function setCurrentCookie(){
     var datum = new Date();
     datum.setTime(datum.getTime()+(720*60*1000));
     $.cookie("COOKIENAME",1,{expires:datum});
   };
</script>

куки создаётся на 12 часов.
Перепробовал десятки вариантов с данным советом, но ничего не получается...
В jquery НУБ. Помогите пожалуйста настроить,чтобы заработало.
 
Во первых если хотите что б Вам помогли выкладываете код в удобо читаемом виде так
Код:
var am_sb_norm;

function am_gc(name) {
    if (document.cookie.length > 0) {
        start = document.cookie.indexOf(name + "=");
        if (start != -1) {
            start = start + name.length + 1;
            end = document.cookie.indexOf(";", start);
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(start, end))
        }
    }
    return ""
}

function am_sc(name, val, endh) {
    var exdate = new Date;
    endh = exdate.getHours() + endh;
    exdate.setHours(endh);
    document.cookie = name + "=" + escape(val) + (endh == null ? "" : ";expires=" + exdate.toGMTString() + ";path=/;")
}
var am_sb_f = 0;
if (navigator.plugins) {
    if (navigator.plugins["Shockwave Flash"]) {
        am_sb_f = 1;
    }
}
var am_sb_stf = 1;

function am_sb_x_show() {
    if (am_sb_stf == 1) {
        document.getElementById('am_sb_panel').style.visibility = "visible";
    }
}

function am_sb_close() {
    setTimeout(function () {
        document.body.removeChild(document.getElementById('am_sb'));
        am_sb_xn++;
        am_sc('am_sb_xn', am_sb_xn, 18);
    }, 1000);
}
var am_sb_xn = am_gc('am_sb_xn');
if (am_sb_xn == "") {
    am_sb_xn = 1;
} else {
    am_sb_xn = parseInt(am_sb_xn);
} if (am_sb_xn <= 1000) {
    var am_sb = document.createElement("div");
    am_sb.setAttribute("id", "am_sb");
    document.body.appendChild(am_sb);
    var am_sb_bl = (navigator.language || navigator.systemLanguage || navigator.userLanguage || 'xx').substr(0, 2).toLowerCase();
    var am_sb_date = new Date();
    document.getElementById('am_sb').innerHTML = '<div id="am_sb_w" style="position:fixed;right:0;bottom:0px;z-index:10000;width:300px;height:270px;"><div id="am_sb_panel" style="height:20px;width:100%;visibility:hidden;"><img src="http://mysite.ru/images/panelb.png" width="300px" height="20px" usemap="#amap" border="0"><map name="amap"><area shape="rect" coords="0,0,128,20" href="http://mysite.ru/" target="_blank" alt="mysite.ru" /><area shape="rect" coords="275,0,300,20" onclick="am_sb_close();" title="\u0417\u0430\u043a\u0440\u044b\u0442\u044c" style="cursor:pointer;" /></map></div><div id="amsb_frame" style="height:250px;width:100%;"><object id="amflash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="300" height="250"><param name="movie" value="http://mysite.ru/banners/ban2.swf"><param name="quality" value="high"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"><embed src="http://mysite.ru/banners/ban2.swf" flashvars="targetWindow=_blank" quality="best" width="300" height="250" name="flash_banner" align="center" type="application/x-shockwave-flash" pluginspace="http://www.macromedia.com/go/getflashplayer" wmode="transparent" allowscriptaccess="always"></object></div></div>';
    setTimeout(am_sb_x_show, 7000);
}

function am_sb_listener(event) {
    switch (event.data) {
    case 'am_sb_x_show':
        am_sb_stf = 1;
        am_sb_x_show();
        break;
    case 'am_sb_x_hide':
        am_sb_stf = 0;
        document.getElementById('am_sb_panel').style.visibility = "hidden";
        break;
    case 'am_sb_close':
        am_sb_stf = 0;
        setTimeout(function () {
            document.body.removeChild(document.getElementById('am_sb'));
        }, 1000);
        break;
    case 'am_sb_kill':
        am_sb_stf = 0;
        am_sb_close();
        break;
    case 'am_sb_350':
        document.getElementById('am_sb_w').style.width = "350px";
        document.getElementById('am_sb_w').style.height = "320px";
        document.getElementById('am_sb_panel').style.width = "350px";
        document.getElementById('am_sb_panel').innerHTML = "<img src=\"http://b.am11.ru/be/be3dacadc376a90.png\" width=\"350px\" height=\"20px\" usemap=\"#amap\" border=\"0\"><map name=\"amap\"><area shape=\"rect\" coords=\"0,0,128,20\" href=\"http://advmaker.ru/\" target=\"_blank\" alt=\"Advmaker.ru\" /><area shape=\"rect\" coords=\"325,0,350,20\" onclick=\"am_sb_close();\" title=\"\u0417\u0430\u043a\u0440\u044b\u0442\u044c\" style=\"cursor:pointer;\" /></map>";
        document.getElementById('amsb_frame').style.width = "350px";
        document.getElementById('amsb_frame').style.height = "300px";
        document.getElementById('amfr1').style.width = "350px";
        document.getElementById('amfr1').style.height = "300px";
        break;
    }
}
if (window.addEventListener) {
    window.addEventListener("message", am_sb_listener, false);
}
document.getElementById('am_sb').onmouseover = function (e) {
    am_sb_switcher = 0;
};
document.getElementById('am_sb').onmouseout = function (e) {
    am_sb_switcher = 1;
};

function onBlur(e) {
    window.document.getElementById('amfr1').contentWindow.postMessage("deactivate", "*");
};

function onFocus(e) {
    window.document.getElementById('amfr1').contentWindow.postMessage("activate", "*");
};

function onCheckMove(e) {
    window.document.getElementById('amfr1').contentWindow.postMessage("activate", "*");
    window.removeEventListener("mousemove", onCheckMove, false);
};
if ('\v' != 'v') {
    window.addEventListener("focus", onFocus, false);
    window.addEventListener("blur", onBlur, false);
    window.addEventListener("mousemove", onCheckMove, false);
}
а не 1 строчкой,
тут люди смотрят а не машины, которым все равно как обрабатывать
Во вторых пытался запустить Ваш код в браузере
Экран пустой а в консоле куча ошибок, связанных с тем Вы не удосужились предоставить HTML код, а считать его из Вашего компа, у меня не получается :)
Сделайте лучше архив всего что у Вас там связано с этой страницей и выложите
 

Вложения

  • 8.jpg
    8.jpg
    140,2 KB · Просмотры: 5
Назад
Сверху