Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выполнение скрипта раз в сутки по cookie (https://javascript.ru/forum/dom-window/16863-vypolnenie-skripta-raz-v-sutki-po-cookie.html)

Avel Mink 25.04.2011 20:58

Выполнение скрипта раз в сутки по cookie
 
Нужен скрипт, который выполнял некоторое действие раз в 24 часа (по cookie), нашел вот такой скрипт, вроде пишут рабочий, но он как я понял устанавливает время действия cookie - навсегда, а мне нужно на 24 часа. Принцип работы понимаю, а вот сам код править не умею, посмотрите пожалуйста на правильность кода и поменяйте запись кукисов на 24 часа.

var Cookie = new Object();
Cookie.set = function(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
    }
Cookie.get = function(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));
  }
Cookie.del = function(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
  }
var myVar = null;// просто переменная со значением, для проверки кукисов
myVar = Cookie.get("mycookie");
if (myVar != "1")// проверка на то есть куки или нету, если есть то не выполнять скрипт
{
	window.open('http://www.сайт.ru/');
	Cookie.set("mycookie", "1");
}


И еще вопрос вот тут "function(name, value, expires, path, domain, secure)" ничего менять не надо на свои переменые ?

Avel Mink 26.04.2011 15:48

Помогите пожалуйста подстроить скрипт

melky 26.04.2011 15:53

используй localStorage или sessionStorage вместо кукисов

СТАТЬЯ

Avel Mink 27.04.2011 00:13

Цитата:

Сообщение от melky (Сообщение 102181)
используй localStorage или sessionStorage вместо кукисов

СТАТЬЯ

Если бы я разбирался в коде, я бы попробовал. лучше помогите немного настроить скрипт, который я нашел. Заранее спасибо

with-love-from-siberia 27.04.2011 00:19

Цитата:

Сообщение от Avel Mink
лучше помогите немного настроить скрипт

Платить готовы? Поможем )))

Riim 27.04.2011 02:00

Цитата:

Сообщение от Avel Mink
expires

укажи expires на 24 часа больше от текущего времени:
var d = new Date();
var expires = d.setDate(d.getDate() + 24);

http://javascript.ru/Date/getHours
http://javascript.ru/Date/setHours

Avel Mink 27.04.2011 11:13

Цитата:

Сообщение от Riim (Сообщение 102271)
укажи expires на 24 часа больше от текущего времени:
var d = new Date();
var expires = d.setDate(d.getDate() + 24);

http://javascript.ru/Date/getHours
http://javascript.ru/Date/setHours

Это просто надо дописать в начале скрипта ? Остальные переменные из этих менять не надо "name, value, expires, path, domain, secure" ? Я просто не разбираюсь в синтаксисе javascript.
Цитата:

Платить готовы? Поможем )))
За то чтобы поменять пару строчек ? Я же не прошу написать скрипт с нуля, тем более это не сложная функция. Ну пару WMZ готов заплатить за 5 минут работы.

ksa 27.04.2011 11:21

Цитата:

Сообщение от Avel Mink
За то чтобы поменять пару строчек ?

Оплата идёт за решение твоей проблемы. Т.ч. не стоит считать чужое время и деньги... :)

Avel Mink 27.04.2011 12:50

кто-нибудь все-таки поможет ?

Riim 27.04.2011 14:15

Цитата:

Сообщение от Avel Mink
Я просто не разбираюсь в синтаксисе javascript

вот ссылка на основы: http://javascript.ru/tutorial/foundation, теперь у тебя есть все что нужно, удачи.

Avel Mink 27.04.2011 22:39

пилять, какие все умные, ради пары строчек в коде мне нужно несколько часов изучать основы языка, зачем еще пару часов нужную мне функцию, затем попробовать сделать правильно, конечно у меня ничего не получится, переделать, и наконец после целого дня головняка и нервов я получу, то что опытный программист сделает за 10 минут. Неужели так сложно уделить пару минут и написать готовый код ? Я заплачу, если уже все такие занятые

melky 27.04.2011 23:30

спизжено из Vkontakte COMMON.JS

лень самому писать. извините

var _cookies;

function _initCookies() {
  _cookies = {};
  var ca = document.cookie.split(';');
  var re = /^[\s]*([^\s]+?)$/i;
  for (var i = 0; i < ca.length; i++) {
    var c = ca[i].split('=');
    if (c.length == 2) {
     _cookies[c[0].match(re)[1]] = unescape(c[1].match(re) ? c[1].match(re)[1] : '');
    }
  }
}


function getCookie(name) {
  _initCookies();
  return _cookies[name];
}


function setCookie(name, value, days) {
  var expires = '';
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    expires = '; expires='+date.toGMTString();
  }
  var domain = location.host;
  document.cookie = name + '='+escape(value) + expires + '; path=/' + (domain ? '; domain=.' + domain : '');
}


_initCookies();

setCookie( 'a', 'test', 1);


alert( getCookie( 'a' ) )

ksa 28.04.2011 11:01

Цитата:

Сообщение от Avel Mink
Я заплачу, если уже все такие занятые

Сколько?

Avel Mink 28.04.2011 13:53

Цитата:

Сообщение от ksa (Сообщение 102457)
Сколько?

2 бакса :) Сколько ?

немного не по теме:

Сколько стоит написание скрипта на javascript по такому ТЗ:
1.Основная идея:
Скрипт будет представлять из себя ротатор баннеров (штук 20) с рандомным выводом, который будет размещаться на различных сайтах (не моих), но сам скрипт будет располагаться на моем сервере.

2.Дополнительные функции:
- вывод для одного посетителя каждый раз нового баннера, то есть посетитель заходит на сайт, для него рандомно выводится баннер и записывается в куки, чтобы при следующем просмотре для него не выводился баннер, который он видел. Если баннеры для просмотра заканчиваются (если 20 баннеров, значит 20 просмотров) для определенного юзера - куки обнуляются и начинается все по новой
- ведение лога кол-ва просмотров и кликов по каждому банеру отдельно, и по каждому сайту где будет размещаться ротатор. Можно в одном файле, можно по разным.

Как вижу я алгоритм скрипта:
Юзер заходит на X-сайт, на странице подгружается мой скрипт, который находится на моем сервере. Внутри скрипта каждому из баннеров (будет рассматривать 20 штук) присваивается порядковый номер (id), далее проверяются наши куки юзера:

1.Если там пусто (нет наших записей) - выводим рандомно баннер;
- далее id баннера записывается в куки;
- в логе пересчитывается кол-во показов для конкретного баннера (по id) и пересчитывается кол-во показов ротатора в целом для определенного сайта;
- если на баннер кликнули - соответственно еще и пересчитывается кол-во кликов (по аналогии с показами).

2.Если в куки уже занесены какие-то баннеры (их id), тогда рандомно выводим для юзера баннер, который еще не был показан
- опять же в куки добавляется id показанного баннера и в логах пересчитываются кол-во показов и кликов.

3.Когда все баннеры уже будут показаны юзеру - куки обнуляются и повторяется вся процедура заново.

Так как скрипт будет одновременно размещаться на многих сайтах, скорее всего прийдется делать отдельные файлы логов (txt наверное) для каждого из баннеров и для каждого из сайтов. Файлы логов будут размещаться в одной папке, для баннеров вида - 12.txt, для сайтов - site.ru.txt.

Пожелания: сделать чтобы не было конфликтов при одновременном доступе к файлам логов с разных сайтов; сделать скрипт по возможности не ресурсо-требовательным и небольшим по размеру.

ksa 28.04.2011 14:32

Цитата:

Сообщение от Avel Mink
2 бакса

Сомневаюсь что найдутся желающие...

Цитата:

Сообщение от Avel Mink
Сколько стоит написание скрипта на javascript по такому ТЗ

По твоему ТЗ одного JS недостаточно... Для ведения "логов" уже нужен серверный язык и какая-то БД...

Avel Mink 28.04.2011 21:45

Хорошо, а если без логов ?

dmitriymar 29.04.2011 09:38

ksa,
ну чего ты ?здесь целых 2 бакса предлагают,а ты:blink:-без обид,сарказм
человек предлагает целых 20% от минимума за не неполный час работы ,а ты....
Avel Mink,
минимальная стоимость раз в 35 больше) и не надо ля-ля ,что здесь не помогают. Помогают,но за других работу не делают .
Напомнило ситуацию -клиент знаю что работа простая много платить не буду.
-Если знаешь что просто- напиши сам.
-Если сам не можешь с чего ты решил что это просто?Зубы рвать и лечить наверное тоже просто-так почему тогда такая цена у стоматологов?-наверное сложилась из знаний+накладных расходов и прочего?
Анекдот знаете? ну расскажу)
Идёт мужик по рынку петуха хочет купить,к одному подходит
-сколько?
-5 рублей.
к другому
-4 рубля
Стоит мужик с петухом . петух чаморышный ,облезлый-признаков жизни не подаёт
-сколько?
-25 рублей.
-??? чего так дорого? мож он кур классно топчет?
-нет ,вообще внимания на них не обращает
-Может он будет в то время что ему скажешь?
-Та нет,вообще не кукарекает.
.......
-так за что столько денег?
-деньги нужны.

Вы напомнили с точностью до наоборот. Вам посоветовали обратиться в раздел Работа-прежде чем 2 бакса предлагать-посмотрели бы на цены там и на уровень зарплат предлагаемых работадателями-какие специально заходят на этот форум в поисках сотрудников и прекрасно представляющих себе какова зарплата js кодера

Avel Mink, то что вы хотите,по сути дела это тизерная сеть-она вся полностью стоит от 3000$ вот и посчитайте стоимость основного скрипта в ней.если интересно поищите на фрилансе -там есть объявления -куплю скрипты тизерной сети и стоимость-и люди месяцами не могут найти кто напишет её,или продаст готовый код


Часовой пояс GMT +3, время: 15:11.