1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jaywcjlove-cookie.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

JavaScript Cookie

Приобретите мне кофе Скачивания Конструирование и тестирование Статус покрытия README-zh.md

:cookie: Простой, легковесный JavaScript API для работы с браузерными куками, который легко освоить и использовать, имеет разумный размер (~2кБ) (gzip: 0.84кБ) и не зависит от других библиотек. Он не должен мешать работе любых JavaScript библиотек или фреймворков.

Старая версия v1 документация предварительный просмотр.

Особенности:

🚀 Без зависимостей
🌱 Работает во всех браузерах
🍁 Поддерживает TypeScript, включая d.ts определение
🔥 Тщательно протестировано
📦 Поддерживает AMD/CommonJS
💥 cookie.min.js 2.01кБ (gzip: 0.84кБ)

Использование

Установлен через npm. Вам потребуется установленный Node.js на вашей системе.

$ npm install cookiejs --save
import cookie from 'cookiejs';

cookie('test', 'tank', 1);

Или скачайте вручную и подключите cookiejs в вашем HTML, его также можно скачать через UNPKG или jsDelivr CDN:```html

<script src="https://unpkg.com/cookiejs/dist/cookie.min.js"></script> <script type="text/javascript"> cookie("test", "tank", 1); </script>

## Основное использование

> cookie(key, value, num)

> `key` имя куки  
> `value` значение куки  
> `num` время истечения  

```js
cookie('test', 'tank', 1)    // Создает куку, которая будет действовать 1 день со дня установки
cookie('test')               // Создает куку, действующую на всем сайте
cookie('test', null)         // Удаляет куку `test`
cookie()                     // Получает все куки
cookie.set('test', 'танк', 1) // ====cookie('test', 'танк', 1)
cookie.get('test')            // ====cookie('test')
cookie.remove('test')         // ====cookie('test', null)
cookie.remove('test3', 'test4') // Удаление кук `test3` и `test4`

cookie.clear()                // Очистка всех кук
cookie.all()                  // Получение всех кук

Установка куки

cookie.set(имя, значение, опции)
Это то же самое что cookie(имя, значение, опции)

Установка значения куки в несколько этапов

cookie.set({
  имя1: 'значение1',
  имя2: 'значение2'
});

Создание куки с истечением через 30 дней от текущего времени

cookie('test', 'танк', 30);  // Создание куки, которая будет действовать 30 дней

cookie({ 'test':'123', 'test2':'456' }, { // Батч установки
  'expires': 30,
  'path': '/',
  'domain':''
});

Создание куки с истечением через 30 дней от текущего времени, и установка атрибутов куки

cookie('test', '123', { 'expires': 30, 'path': '/', 'domain':'' });

Атрибуты куки

Каждый вызов cookie.set(...) может принимать простой объект в последнем аргументе для установки атрибутов. Атрибуты каждого вызова переопределяют дефолтные атрибуты.Примеры:

cookie('name', 'value', { 'expires': 30, 'path': '/', 'domain': '' });
cookie.get('name');
cookie.remove('name');

expires

Определяет время удаления куки. Значение может быть числом, которое будет интерпретировано как количество дней с момента создания, либо экземпляром типа Date. Если этот атрибут пропущен, кука становится сессионной.

cookie('name', 'value', { 'expires': 30 });

path

По умолчанию: /

Строка, указывающая путь, где кука видна.

cookie.set('name', 'value', { path: '/' });
cookie.get('name'); // => 'value'

domain

По умолчанию: Кука видна только домену или поддомену страницы, где она была создана, за исключением Internet Explorer (см.: Примечание относительно поведения по умолчанию Internet Explorer).
⚠️Если вы пропустите атрибут domain, он будет виден для поддомена в IE.

Строка, указывающая допустимый домен, где кука должна быть видна. Кука также будет видна для всех поддоменов.

Примеры:

cookie.set('name', 'value', { domain: 'subdomain.page.com' });
cookie.get('name'); // => undefined (необходимо прочитать на 'subdomain.page.com')

безопасность

По умолчанию: отсутствие требования к использованию безопасного протокола.

Значение может быть истинным или ложным, указывая на то, требуется ли передача cookie с использованием безопасного протокола (https).Пример использования:

cookie.set('name', 'значение', { secure: true });
cookie.get('name'); // => 'значение'
cookie.remove('name');

SameSite

Атрибут SameSite позволяет серверам указывать, когда и при каких условиях cookie будут отправлены вместе с запросами между сайтами (где Site определяется регистрируемым доменом и схемой: http или https). Это предоставляет некоторую защиту против атак типа "cross-site request forgery" (CSRF). Атрибут принимает три возможных значения: Strict, Lax и None.

С параметром Strict cookie отправляются только сайту, где они были созданы. При значении Lax cookie отправляются, если пользователь переходит на сайт, где они были созданы, например, переход по ссылке с внешнего сайта. При значении None cookie отправляются в обоих случаях — при запросах с сайта, где они были созданы, и при запросах между сайтами, но только в безопасных контекстах (то есть, если SameSite=None, то также должно быть установлено значение атрибута Secure). Если атрибут SameSite не указан, cookie рассматриваются как Lax.

Пример использования:

cookie.set('name', 'значение', { sameSite: 'Strict' });
```> Примечание: Стандарт, связанный с `SameSite`, недавно был изменён (MDN документирует новое поведение выше). Узнайте больше о том, как этот атрибут обрабатывается в различных версиях браузеров, в таблице [совместимости браузеров](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#browser_compatibility):
>
> `SameSite=Lax` теперь является значением по умолчанию, если `SameSite` не указан. Ранее cookie отправлялись для всех запросов по умолчанию.
> - Cookie с `SameSite=None` должны теперь также иметь установленное значение атрибута `Secure` (они требуют безопасного контекста).
> - Cookie от одного домена больше не считаются cookie того же сайта, если они отправляются с помощью другой схемы (`http:` или `https:`).## Связанные

- [storejs](https://github.com/jaywcjlove/store.js) Простая, лёгковесная JavaScript API для работы с localStorage браузера, которая легко осваивается и используется, имеет приемлемый размер (2.36kb, gzip: 1.04kb) и не зависит ни от чего другого. ## Участники

Как всегда, большое спасибо нашим замечательным участникам!

<a href="https://github.com/jaywcjlove/cookie.js/graphs/contributors">
  <img src="https://jaywcjlove.github.io/cookie.js/CONTRIBUTORS.svg" />
</a>

Сделано с помощью [action-contributors](https://github.com/jaywcjlove/github-action-contributors).

## Лицензия

Разрешено на условиях лицензии MIT.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Упаковка локального хранения cookie, предоставление простого AIP. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jaywcjlove-cookie.js.git
git@api.gitlife.ru:oschina-mirror/jaywcjlove-cookie.js.git
oschina-mirror
jaywcjlove-cookie.js
jaywcjlove-cookie.js
master