Чи може jQuery читати / записувати файли cookie у браузері?


99

Простий приклад: я хочу мати деякі елементи на сторінці (наприклад, діви або рядки таблиці), і я хочу дозволити користувачеві натискати на них, щоб вибрати їх. Це здається досить простим у jQuery. Щоб зберегти, на які елементи користувач натискає, без спинки публікації на стороні сервера, я думав, що файл cookie буде простим способом зробити це.

  1. Чи правильно це припущення, що файл cookie в цьому випадку нормальний?
  2. Якщо це правильно, чи має API jQuery якийсь спосіб зчитувати / записувати файли cookie, які приємніші за API за замовчуванням?

Відповіді:


52

Типовий JavaScript "API" для налаштування файлу cookie є таким же простим, як:

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

Використовуйте плагін cookie jQuery, наприклад:

$.cookie('mycookie', 'valueOfCookie')

14
Так, писати файли cookie легко, але читання їх - це певний біль, оскільки вам потрібно розділити рядки та інше. Якщо ви вже використовуєте JQuery, то плагін cookie може бути приємним ...... Прикрою справою читання файлів cookie є те, що деякі веб-переглядачі видаляють остаточну крапку з комою, а деякі не .... приємно, щоб хтось інший обробляв все, що.
Пітер Айтай

8
О, а плагін файлів cookie JQuery - це лише 40 рядків JS ... і ви можете відредагувати його за своїм бажанням, щоб ви не відчували себе як увійти в небезпечну зону абстракції.
Пітер Айтай

3
Не пов’язано з jQuery, як запитували. Коментар Пітера Айтай показує, чому casademora просять плагін jQuery замість Javascript.
CallMeLaNN


18

Вам знадобиться плагін cookie, який надає кілька додаткових підписів функції cookie.

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

Якщо ви хочете встановити файли cookie, які використовуються для всього сайту, вам потрібно буде використовувати JavaScript так:

document.cookie = "name=value; expires=date; domain=domain; path=path; secure"

1
Здається, що це посилання є мертвим на момент написання цього повідомлення
Марк Шультхейс

11

Новий плагін jQuery для пошуку файлів cookie та маніпуляцій із прив’язкою до форм тощо: http://plugins.jquery.com/project/cookies


3
Для тих, хто прочитає посилання занадто швидко, помітьте "в" в кінці файлу cookie, щоб зробити це іншою відповіддю, ніж відповідь Алекса Форта
Патріка

2
Ось кращий посилання на момент написання github.com/carhartl/jquery-cookie
Wiebe Tijsma

1
@Zidad, це не той самий плагін, як пов’язаний Giver Of Cookies. Той, кого він пов’язав, зараз знаходиться за адресою code.google.com/p/cookies
JAAulde

@JAAulde Ах, я цього не усвідомлював. Тому що посилання було мертвим :) Дякую!
Wiebe Tijsma

7

Щоб відповісти на ваше запитання, так. Інші відповіли на цю частину, але здається, що ви запитуєте, чи це найкращий спосіб зробити це.

Це, мабуть, залежатиме від того, що ти робиш. Як правило, ви б користувачеві натискали, які предмети вони хочуть купити (наприклад, замовляючи). Тоді вони натиснуть кнопку покупки чи оформлення замовлення. Тоді форма надсилатиметься на сторінку та обробляє результат. Ви можете зробити все це з печивом, але я вважаю, що це складніше.

Ви можете розглянути можливість розміщення свого другого питання в іншій темі.



4

Ви можете переглянути всі плагіни jQuery з тегом "cookie" тут:

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

Варіантів багато.

Ознайомтеся з тим, який називається jQuery Storage, який використовує перевагу локального зберігання HTML5. Якщо localStorage недоступний, він за замовчуванням використовує файли cookie. Однак це не дозволяє встановити термін дії.


4

Здається, плагін файлу cookie jQuery недоступний для завантаження. Однак ви можете завантажити той самий плагін файлу cookie jQuery з деякими поліпшеннями, описаними в jQuery & Cookies (отримати / встановити / видалити & плагін) .


Я також усвідомлюю, що розробка плагінів cookie зупинилася там з першого випуску, і не впевнений, чи сумісний він з jQuery 1.4 *
CallMeLaNN

Плагін сумісний з jQuery 1.4, оскільки синтаксис, що розширюється, з того часу не змінився ...
jQuery Lover

2

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.