Действительно ли использование является плагином Cookie jQuery допустимый способ протестировать, чтобы видеть, включены ли куки?

У меня есть сайт, что мы требуем, чтобы пользователь включил JavaScript и cookie, прежде чем они смогут войти в сайт. (Часть JS сделана и работает отлично.) В данный момент, мы были, установив cookie и затем перенаправляем пользователя к другой странице (в PHP). Это хорошо работало, но теперь у нас есть группа людей, которые отметили страницу, к которой мы перенаправляем, которому, конечно, не установили cookie и поэтому не позволяет им входить в систему.

Таким образом, я пытаюсь найти другое решение проверить на cookie, и я думаю об использовании плагина Cookie jQuery. Я задаюсь вопросом, совместимо ли это во всех браузерах (когда JS включен, конечно)?

7
задан Darryl Hein 8 January 2010 в 23:52
поделиться

2 ответа

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

Еще одно решение, которое я придумал, заключалось в перенаправлении на совершенно отдельную страницу, которая сама по себе проверяет, включены ли файлы cookie (путем перенаправления на себя). Если файлы cookie включены, выполняется перенаправление обратно на исходную страницу. В противном случае он будет перенаправлен на страницу с описанием проблемы. Я думаю, это должно сработать, но я не уверен.

В конце концов, я попробовал плагин jQuery Cooke в IE 6, 7 и 8, Safari 4, Google Chrome 4, Firefox 3.5, Opera 10.2 и в нескольких различных конфигурациях, и он работал во всех из них. Вот код, который я использую:

$.cookie('test_cookie', 'cookie_value', { path: '/' });
if ($.cookie('test_cookie') == 'cookie_value') {
    // cookie worked, set/enable appropriate things
}

Он не идеален, но я думаю, что он будет работать в 95% случаев. В противном случае он выйдет из строя и просто не позволит им что-либо делать.

10
ответ дан 6 December 2019 в 21:14
поделиться

Вы можете проверить реферер страницы, и, если это не ваша домашняя страница, вы можете перенаправить их туда. Если реферер - это ваша домашняя страница и файлы cookie не установлены, вы будете знать, что у них не включены файлы cookie.

1
ответ дан 6 December 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: