Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение пользователя по его Cookie 
:(
    Опции темы
Sl@va
  Дата 19.1.2005, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 22.11.2004
Где: Нижний Новгород

Репутация: нет
Всего: нет



Здравствуйте !
Я хочу сделать так, чтобы когда пользователь первый раз заходит на сайт, ему открывалось всплывающее окно, но при дальнейшем посещении этого сайта это окно ему больше не появлялось.
Я догадываюсь что здесь надо использовать Cookie, и в них хоронить информацию о том, был здесь уже пользователь или нет.
Но как это все реализовать ?
smile
PM MAIL WWW ICQ Skype   Вверх
sergejzr
Дата 19.1.2005, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360





--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Aliance
Дата 27.1.2005, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Код

<script LANGUAGE="JavaScript">
var caution = false

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 (!caution || (name + "=" + escape(value)).length <= 4000)
 document.cookie = curCookie
else
 if (confirm("Cookie занимают больше 4KB и будут удалены!"))
  document.cookie = curCookie
}

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))
}


function deleteCookie(name, path, domain) {
if (getCookie(name)) {
 document.cookie = name + "=" +
 ((path) ? "; path=" + path : "") +
 ((domain) ? "; domain=" + domain : "") +
 "; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}

function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
 date.setTime(date.getTime() - skew)
}

var now = new Date()
fixDate(now)
now.setTime(now.getTime() + 31 * 24 * 60 * 60 * 1000)
var was = getCookie("was")
if (!was)
was = alert("Я знаю, ты тут впервые!!!");
setCookie("was", was, now)
</SCRIPT>

PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 10.4.2005, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Aliance, почему
Код

if (!caution || (name + "=" + escape(value)).length <= 4000)

, а не
Код

if (!caution || (curCookie.length <= 4096)

или это не существенно?
Добавлено @ 17:25
Я про curCookie.length, а не про 4096


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 10.4.2005, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
или это не существенно?

Существенно, оба варианта не верные smile
Вся кука с одного домена не может быть более 4кб, т.е document.cookie. Второе: в методе
Aliance проверяется величина самой куки: имя + значение, инфа expires, domain и т.п. туда не входят. А задача убедится что
Код

if((document.cookie.length + (name + "=" + escape(value)).length)<=4096)



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.