Может ли jQuery читать / записывать куки в браузер? - PullRequest
98 голосов
/ 18 сентября 2008

Простой пример: я хочу, чтобы на странице были какие-то элементы (например, div или строки таблицы), и я хочу, чтобы пользователь нажимал на них, чтобы выбрать их. Это кажется достаточно простым в jQuery. Чтобы сохранить элементы, на которые пользователь кликает без постов на сервере, я подумал, что cookie - это простой способ сделать это.

  1. Является ли это предположение, что cookie в этом случае в порядке, верно?
  2. Если это правильно, есть ли в jQuery API способ чтения / записи информации о файлах cookie, который лучше, чем API JavaScript по умолчанию?

Ответы [ 8 ]

52 голосов
/ 06 февраля 2010

JavaScript API по умолчанию для установки cookie так же просто, как:

document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'

Используйте плагин cookie jQuery, например:

$.cookie('mycookie', 'valueOfCookie')
18 голосов
/ 18 сентября 2008

Вам понадобится плагин cookie, который предоставляет несколько дополнительных подписей для функции cookie.

$.cookie('cookie_name', 'cookie_value') хранит временный файл cookie (существует только в области действия этого сеанса, в то время как $.cookie('cookie_name', 'cookie_value', 'cookie_expiration") создает файл cookie, который будет действовать в течение сеансов - для получения дополнительной информации о плагине cookie JQuery см. http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/.

Если вы хотите установить файлы cookie, которые используются для всего сайта, вам нужно использовать JavaScript, например, так:

document.cookie = "name=value; expires=date; domain=domain; path=path; secure"
11 голосов
/ 15 ноября 2008

Новый плагин jQuery для поиска файлов cookie и манипулирования ими с привязкой к формам и т. Д .: http://plugins.jquery.com/project/cookies

7 голосов
/ 18 сентября 2008

Чтобы ответить на ваш вопрос, да. Другие ответили на эту часть, но кажется, что вы спрашиваете, лучший ли это способ сделать это.

Это, вероятно, будет зависеть от того, что вы делаете. Как правило, пользователь выбирает товары, которые он хочет купить (например, при заказе). Затем они нажимали кнопку «купить» или «оформить заказ». Затем форма отправляется на страницу и обрабатывает результат. Вы можете сделать все это с помощью cookie, но мне будет труднее.

Возможно, вы захотите разместить свой второй вопрос в другой теме.

5 голосов
/ 18 сентября 2008

Взгляните на Cookie Plugin для jQuery.

4 голосов
/ 16 января 2011

Вы можете просмотреть все плагины jQuery с тегом «cookie» здесь:

http://plugins.jquery.com/plugin-tags/cookies

Множество вариантов там.

Обратите внимание на то, что называется jQuery Storage, которое использует преимущества localStorage HTML5. Если localStorage недоступен, по умолчанию используются файлы cookie. Тем не менее, он не позволяет установить срок действия.

4 голосов
/ 22 сентября 2010

Похоже, плагин cookie jQuery недоступен для загрузки. Однако вы можете загрузить тот же плагин cookie jQuery с некоторыми улучшениями, описанными в jQuery & Cookies (получить / установить / удалить & плагин) .

2 голосов
/ 13 июня 2014

Мне удалось написать скрипт, позволяющий пользователю выбирать язык, используя скрипт cookie из Klaus Hartl . Мне потребовалось несколько часов работы, и я надеюсь, что смогу помочь другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...