Показ баннера 1 раз на главной(JavaScript+Cookies)

Алekсандр18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
20.07.2010

Нужна помощь в создании JS-скрипта, который, использую cookies позволял бы каждому пользователю показывать флэш-баннер (прозрачный на верхнем слое) только 1 раз при первом заходе пользователя на сайт.

На данный момент есть некоторые наработки в JavaScript.

1. Внешний файл Яваскрипта (подключенный в сайта, первая часть которого определяет, считает и записывает кукисы, а вторая часть - вызывает отображение flash-баннера:

var expDays = 1; // number of days the cookie should last

// var page = "only-popup-once.html";

// var windowprops = "width=300,height=200,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes";

var showbanner = 0;

function GetCookie (name) {

var arg = name + "=";

var alen = arg.length;

var clen = document.cookie.length;

var i = 0;

while (i

var j = i + alen;

if (document.cookie.substring(i, j) == arg)

return getCookieVal (j);

i = document.cookie.indexOf(" ", i) + 1;

if (i == 0) break;

}

return null;

}

function SetCookie (name, value) {

var argv = SetCookie.arguments;

var argc = SetCookie.arguments.length;

var expires = (argc > 2) ? argv[2] : null;

var path = (argc > 3) ? argv[3] : null;

var domain = (argc > 4) ? argv[4] : null;

var secure = (argc > 5) ? argv[5] : false;

document.cookie = name + "=" + escape (value) +

((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +

((path == null) ? "" : ("; path=" + path)) +

((domain == null) ? "" : ("; domain=" + domain)) +

((secure == true) ? "; secure" : "");

}

function DeleteCookie (name) {

var exp = new Date();

exp.setTime (exp.getTime() - 1);

var cval = GetCookie (name);

document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}

var exp = new Date();

exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function amt(){

var count = GetCookie('count')

if(count == null) {

SetCookie('count','1')

return 1

} else {

var newcount = parseInt(count) + 1;

DeleteCookie('count')

SetCookie('count',newcount,exp)

return count

}

}

function getCookieVal(offset) {

var endstr = document.cookie.indexOf (";", offset);

if (endstr == -1)

endstr = document.cookie.length;

return unescape(document.cookie.substring(offset, endstr));

}

function checkCount() {

var count = GetCookie('count');

if (count == null) {

count=1;

SetCookie('count', count, exp);

showbanner=1;

// window.open(page, "", windowprops);

document.write="ddddd";

} else {

count++;

SetCookie('count', count, exp);

}

}

// вызывая эту функцию я могу вызвать баннер нра странице, только он выллетает каждый раз при обновлении или загрузке страницы, а нужно увязать с cookies, чтобы баннер каждому прльзователю показывался только 1 раз.

function ShowPopUp(){

var popUpObj = document.getElementById('popUpLayer');

popUpObj.style.display="block";

var popUpObj = document.getElementById('popUpLayer');

popUpObj.style.border = "0px solid #FFFFFF";

var flashvars = {

};

var params = {

menu: "false",

scale: "noScale",

allowFullscreen: "true",

allowScriptAccess: "always",

wmode: "transparent"

};

var attributes = {

id:"tour"

};

swfobject.embedSWF("test.swf", "altContent", "800", "450", "10.0.0", "expressInstall.swf", flashvars, params, attributes);

}

function ClosePopUp(){

var popUpObj = document.getElementById('popUpLayer');

popUpObj.style.display="none";

}

window.onload=checkCount;

2. Функцию ShowPopUp (которая отображает flash-баннер) мы вызываем с помощью следующего кода в страницы:

Для просмотра содержимого страницы загрузите флэш плеер

src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"

alt="Get Adobe Flash player" />

Нужно сделать этот скрипт рабочим (так все подправить и взаимоувязать, чтобы каждый посетитель сайта видел флэш-баннер только 1 раз, а потом спокойно лазил по сайту и никакие флэш-баннеры его не "доставали")

Заявки фрилансеров