Главная » Блог » Java-cкрипт всплывающего окна предупреждения с записью в куки
Полезное

Java-cкрипт всплывающего окна предупреждения с записью в куки

Данный Java-cкрипт всплывающего окна с записью в куки подходит для предупреждения или для важной новости на Вашем сайте. Ниже дана вся инструкция по работе со скриптом.

1. Устанавливаем сам скрипт на страницу в нужном вам месте:

<script language="javascript" type="text/javascript" >
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function checkuserage()
{
userage=getCookie('userage');
if (userage!=null && userage!="")
{}
else
{
var div = document.createElement('div');
div.innerHTML = "<div style='position:fixed;z-index:100;width:100%;height:100%;top:0px;left:0px;' id='18_popup_div'>"
+"<div style='position:relative;width:100%;height:100%'>"
+"<div style='position:absolute;top:0px;left:0px;background-color:gray;filter:alpha(opacity=70);-moz-opacity: 0.7;opacity: 0.7;z-index:200;width:100%;height:100%'></div>"
+"<div style='position:absolute;top:0px;margin:auto;z-index:300;width: 100%;height:500px;'>"
+"<div style='margin:auto;width:400px;background-color: white;border: solid 1px black;padding: 40px;margin-top:100px'>"
+"<?echo $arItem['PREVIEW_TEXT'];?>"
+"<br/><br/><a href='#' style='display:block;width: 100px;text-align: center;text-decoration:none;font-size:14px;font-weight:bold;color:white;background-color: green;padding: 8px;margin: 0px 0px;' onclick='setCookie("userage",1);document.getElementById("18_popup_div").style.display="none";return false;'>Продолжить</a>"
+"</div>"
+"</div>"
+"</div>"
+"</div>";
document.body.appendChild(div);
setCookie('userage',userage,1);
}

}
</script>

Эта строчка +"<?echo $arItem[‘PREVIEW_TEXT’];?>"
вывод текста в Битриксе, но ее можно заменить на любой другой код. Нужно обратить внимание на экрнирование и неразрывность строк.

2. Подключаем выполнение скрипта в тег BODY, как указано ниже:


<body onload="checkuserage()">

Всё, на этом наше всплывающее окно-предупреждение готово.

3. Возможно, потребуется ссылка для очистки Куки этого окна, она идет ниже:


<script>
function deleteCookie( name, path, domain ) {
if ( getCookie( name ) ) document.cookie = name + '=' +
( ( path ) ? ';path=' + path : '') +
( ( domain ) ? ';domain=' + domain : '' ) +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
</script>
<input type="button" value="Новость" onclick='deleteCookie("userage");history.go(0);return false;'>

4. Возможно, потребуется так же просто ссылка, открывая которую нужно записать куки, но и перейти по ней, её код ниже:


<a onclick='setCookie("userage",1);document.getElementById("18_popup_div"), top.location.href="/events/news/512/";return false;' href='' ><img src='например, путь к картинке' title='' border='0' alt=' ' /></a>

Вариант 2. Более современный.


<!--Всплывающий баннер-->
<style>
#overlay {
position: fixed;
top: 50%;
right: 50%;
display: none;
max-width: 510px;
height: 510px;
background: #000;
z-index: 999;
-webkit-animation: fade .6s;
-moz-animation: fade .6s;
animation: fade .6s;
padding:20px;
}
.spasibo {
border-bottom: 1px #fff dotted;
color:#FFF;
cursor:pointer;
}
.rolik {
color:#FFF;
font-weight:bold;
}
</style>

<div id="overlay">
<div class="popup">
<div class="text-center"><span class="rolik">Текст</span></div>
<div class="text-center" style="margin:10px">
Текст
</div>
<div class="text-center"><span class="spasibo" onclick="document.getElementById('overlay').style.display='none';$.cookie('hiderolikmodal', true, {expires: 1, path: '/'});">Спасибо, уже видели</span></div>
</div>
</div>

<script src="http://yastatic.net/jquery/cookie/1.0/jquery.cookie.min.js"></script>
<script type="text/javascript">
$(function() {
// Проверяем запись в куках о посещении
// Если запись есть - ничего не делаем
if (!$.cookie('hiderolikmodal')) {
// если cookie не установлено появится окно
// с задержкой 10 секунд
var delay_popup = 10000;
setTimeout("document.getElementById('overlay').style.display='block'", delay_popup);
}
// Запоминаем в куках, что посетитель уже заходил

});
</script>
<!--Конец Всплывающий баннер-->

Читать все статьи

Добавить комментарий