Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2009-12-18 10:04:39

Nushaba
Участник
Здесь с 2009-11-09
Сообщений: 276
Рейтинг :   

js скрипт

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("имя_для_куков");
if (myVar != "1")// проверка на то есть куки или нету, если есть то не выполнять скрипт иначе задается вопрос
{
 var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал.");
 if (zayti){
 Cookie.set("имя_для_куков", "1");
 }
 else
 {location.href = "http://ngcms.ru/";}
}

Суть скрипта:
1. Проверить куки, если куки есть, пустить на сайт не выполняя дальше скрипта
2. Если их нет, продолжается выполнение скрипта и задаётся вопрос, хочет ли посетитель просмотреть сайт
3. Если да, записать куки, пропустить на сайт.
4. Если нет, ничего в куки не записывать, отправить на другой сайт.

До этого я писал скрипт прямо в шаблоне main.tpl, потом подумал что надо сделать скрипт отдельным документом и оставить на него ссылку вида:

<script type="text/javascript" src="{admin_url}/includes/js/skript.js"></script>

Но все танцы с бубном ни к чему не привели. Может кто знает что ему надо?

Всё, разобрались, решение найдено. В коде я исправил ошибки, если кому понадобится скрипт. Скрипт в этом посту рабочий.
Скрипт снова поправлен, пока глюков не замечал, если что то не так работать будет после установки скрипта, пишите, будем дальше разбираться. Просьбы сделать немного по другому скрипт или вопросы: "а как сделать скрипт вот так то?" не принимаются.

Отредактировано Nushaba (2009-12-23 22:03:12)

Вне форума

#2 2009-12-19 03:10:35

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: js скрипт

Nushaba, клевая вещь, спасибо! :)


I NGeneration CMS

Вне форума

#3 2009-12-21 22:38:23

Nushaba
Участник
Здесь с 2009-11-09
Сообщений: 276
Рейтинг :   

Re: js скрипт

Народ, сильно извиняюсь, в скрипте обнаружился баг, после включение скрипта на странице, вы не можете использовать функцию браузера, вернуться назад. Пока ищем решение, обновлённый код выложу в первом и последнем посту. Проблема в том, что при возврате кнопкой назад срабатывает редирект на подобии как у форумов, подождите, сейчас вы будете перенаправлены, но без этого ожидания, перелёт моментально происходит.

Отредактировано Nushaba (2009-12-21 22:45:57)

Вне форума

#4 2009-12-23 21:59:25

Nushaba
Участник
Здесь с 2009-11-09
Сообщений: 276
Рейтинг :   

Re: js скрипт

Скрипт обновлён в первом посту, по крайней мере глюк с невозможностью вернуться назад по кнопке браузера исчез, краткая история изменения скрипта:
1. Скрипт теперь проверяет не наличие куков, а их отсутствие
2. Скрипт при наличии куков останавливается, а точнее не выполняется дальше
3. При отсутствии куков так же задаётся вопрос, при положительном ответе записываются куки.
4. Убрана переменная history.go

Отредактировано Nushaba (2009-12-23 21:59:41)

Вне форума

#5 2010-03-10 11:02:41

Nushaba
Участник
Здесь с 2009-11-09
Сообщений: 276
Рейтинг :   

Re: js скрипт

Возникла у меня необходимость сделать так, что бы куки записывались с любой входной страницы для всего сайта, а не той страницы, на которой ответил утвердительно на вопрос скрипта, возможно такая же опция понадобится и остальным, для этого найдите строку:
((path) ? "; path=" + path : "") +
и замените её на
((path) ? "; path=" + path : "; path=/") +

Отредактировано Nushaba (2010-03-10 11:03:10)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.012 сек, 7 запросов выполнено - Использовано памяти: 530.34 Кбайт (Пик: 546.3 Кбайт) ]