Akira07
Скрипт:
<script>if (parent.window.opener) parent.window.opener.location='http://mydomain.com';</script>
Можно ли как-то ограничить число срабатываний скрипта для одного посетителя? Скажем, три раза открывает mydomein - и все, до следующей сессии?
zhekats
Привет. При помощи кук можно. При срабатывании скрипта:
Код:
Если куки не существует {
Срабатываем скрипт;
Пишем куку со значением 1;
} иначе, если кука есть {
Читаем значение куки;
Если кука меньше-равно трёх {
Срабатываем скрипт;
Значение куки увеличиваем на 1;
}
}
Если на ЖС:
Код:
<script>
function getCookie(cname) { /* Функция чтения куки */
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function setCookie(cname, cvalue, exdays) { /* Функция установки куки */
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
/* И собстно сам алгоритм */
if(!getCookie("itwasopened")) {
if (parent.window.opener) parent.window.opener.location='http://mydomain.com';
setCookie("itwasopened", 1, 1);
} else {
var wasit = getCookie("itwasopened");
if(wasit <= 3) {
if (parent.window.opener) parent.window.opener.location='http://mydomain.com';
wasit++;
setCookie("itwasopened", wasit, 1);
}
}
</script>
P.S. При отключеных куках работать не будет, естессно