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

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

rss

Вы не зашли.

Объявление

#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
Сообщений: 1014
Рейтинг :   38 
Профиль  Вебсайт

Re: js скрипт

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


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)

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.005 seconds, 13 queries executed ]