Открытие div блока при первом визите на сайт
Цитата:
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://javascript.ru/";} } Отдельное спасибо PeaceCoder Найдите текст "имя_для_куков" (в двух местах) и поменяйте название по желанию, так же в ковычках. Скрипт ещё раз исправлен и не глючит теперь. |
Такой цивильный сайт и такая откровенная реклама... Ну так что народ, не кто не поможет скриптом?
Есть простой скрипт: <script language="JavaScript"> <!-- Begin var zayti=confirm("Вы точно хотите сюда войти? \nЕсли нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал."); if (zayti) history.go(1); else location = "http://ссылка.ru/"; // End --> </script> Беда в том, что при КАЖДОМ обновлении страницы нужно подтверждать, представляете какой это маразм на ЦМСках? Помогите настроить какое-нибудь скармливание кукисов, при наличае которых этот скрипт не будет больше срабатывать... |
Твой вопрос затрагивает не только клиента, но и серверную часть...
А вообще тебе в раздел "работа", ибо спецально никто писать не станет (хотя может и найдутся такие:))... |
Цитата:
|
Привет всем. Собрал скрипт для сайта, почему то работает ТОЛЬКО в ИЕ. Может кто подсказать что с ним сделать что бы в фф и опере работал, сафари, хроме...
<script language="JavaScript"> <!-- Begin function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr); } function setCookie(name, value) { var valueEscaped = escape(value); var expiresDate = new Date(); expiresDate.setTime(expiresDate.getTime() + 60 * 60 * 1000); // срок - 1 год, но его можно изменить var expires = expiresDate.toGMTString(); var newCookie = name + "=" + valueEscaped + "; path=/; expires=" + expires; if (valueEscaped.length <= 4000) document.cookie = newCookie + ";"; } var myVar = null;// просто переменная со значением, для проверки кукисов myVar = getCookie("sitecookie"); if (myVar == "1")// проверка на то есть куки или нету, если есть то переход без вопроса иначе задается вопрос { history.go(1); } else { var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал."); if (zayti){ history.go(1); setCookie("sitecookie", "1"); }; else {location = "http://ya.ru/";} } // End --> </script> Суть скрипта проверить наличие куков, если они есть, показать сайт, если их нету, задать вопрос, согласен ли посетитель просматривать сайт, если нет, открывает посетителю яндекс, если да, записывает ему куки. |
В лом разбираться и вспоминать как работать с куками. вот те код вроде должно работать
// name - имя cookie // value - значение cookie // [expires] - дата окончания действия cookie (по умолчанию - до конца сессии) // [path] - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено) // [domain] - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено) // [secure] - логическое значение, показывающее требуется ли защищенная передача значения cookie 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"; } } |
PeaceCoder, сделал как у тебя, получил:
<script language="JavaScript"> <!-- Begin 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("sitecookie"); if (myVar == "1")// проверка на то есть куки или нету, если есть то переход без вопроса иначе задается вопрос { history.go(1); } else { var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал."); if (zayti){ history.go(1); Cookie.set("sitecookie", "1"); }; else {location = "http://ya.ru/";} } // End --> </script> Но по прежнему видит только осёл скрипт, разумеется скрипты включены, куки сброшены, даже в сафари делал полный сброс и бестолку. Есть ещё какие идеи народ? Цитата:
|
во первых поменяй местами.
Cookie.set("sitecookie", "1"); history.go(1); Во вторых если и так задаваться не будет вопрос, значит исправишь if (myVar) больше не знаю в чем трабла. эти скрипты куков должны работать на всех браузерах. да и по алгоритму в любом случае должен быть запрос на переход если ошибка в куках. еще исправь везде function ( на function(че там закрался пробел... <script type='text/javascript'> |
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("sitecookie"); if (myVar)// проверка на то есть куки или нету, если есть то переход без вопроса иначе задается вопрос { history.go(1); } else { var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал."); if (zayti){ Cookie.set("sitecookie", "1"); history.go(1); }; else {location = "http://ya.ru/";} } Вот конечный результат, но всё так же не срабатывает нигде, кроме осла, вообще ппц... |
Как я и заподозрил на свежую голову увидел.
{ var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал."); if (zayti){ Cookie.set("sitecookie", "1"); history.go(1); } else {location.href = "http://ya.ru/";} } ";" перед else нельзя. это не php + location.href |
Часовой пояс GMT +3, время: 01:08. |