Pull to refresh
0
0
Алексей Петрович @Alex5646

Дизайнер, JS Разработчик

Send message
Просто хотелось бы поделиться картинкой по этому поводу.

image
Ни одна из приведённых библиотек не может задать куки массивом, также удалять сразу несколько кук и получать. Также нет возможности получить все ключи, все куки. А метод clear реализован только у последнего. Из поиска могу выделить только несколько библиотек к сожалению.

Кстати код js-cookie метода noConflict прям в точь в точь из моего первого примера, только есть одно маленькое но они не освобождают пространство имён (Не удаляют переменную), а тупо создают клон мол сами удаляйте или перебивайте.

Пожалуй напишу метод noConflict. Ещё гетер length запилю, думаю пригодиться.
Извиняюсь не правильно прописал подключение tasty-cookies. Не могу редактировать, кому интересно можно посмотреть здесь как правильно подключается github.com/Alex5646/cookie.js#use-in-commonjsnode
По поводу перового говорить не буду, покажу пример:
<script src="path/tasty-cookies.js"></script>
<script src="path/library-a.js"></script>
<script>
var tastyCookies = Cookie;
delete Cookie;
</script>
<script src="path/cookies2.js"></script>
<script src="path/library-b.js"></script>

Хотя с такой не согласованностью разработчиков, конкретная фигня получается. Эдакий сниппет стайл. Не советую так делать.

Вам вообще известно что такое модули? Модульный подход эти проблемы решает на раз два.
Пример 2:
// libaryA.js
exports.libaryA = (function (){
   var cookies = require('tasty-cookies');
}());

// libaryB.js
exports.libaryB = (function (){
   var cookies = require('cookies2');
}());

// core.js
exports.core= (function (){
   var libraryA = require('libraryA');
   var libraryB = require('libraryB');
}());

Я здесь не вижу проблем. А чтобы это юзать в браузере придан давно browserify.

Классический пример
Классический пример плохого js. Кто же стандартные объекты трогает, здесь глюков не избежать. Уже давно придуманы классы, пространства имён и модули.

По поводу третьего, я могу подтянуть 5 фреймворков засоряющих одно пространство имён. И как тут быть?
А что вы предлагаете? Кто вообще две библиотеки для одного и того же подключает?
Да действительно так. Надо добавить проверку домена.
Сделаю объект, и создам три экземпляра Cookie, Local и Session. И тут из названия думаю понятно что и где хранит данные.
Сейчас так и сделаю.
Ну тоже ведь люди.

Думаю реализовать возможность выбора метода сохранения печенья, там LocalStorage, SessionStorage и Cookie, ну для первых это получиться просто синтаксическая обёртка позволяющая добавлять и получать данные массивами.

К примеру:
// Ставим 4 печенек
Cookie.set({
  a: 1,
  b: 2,
  c: 3,
  d: 4
});

// Получаем две печеньки
Cookie.get('a', 'b'); // -> {a: 1, b: 2}

// Удаляю три печеньки
Cookie.remove('a', 'b', 'c');
ну зачем вам интеграция с jQuery
Просто как синтаксическая обёртка. Где то подсмотрел, наверное все таки излишнее.
Web Storage API Плохо телефонами поддерживается, а opera mini так вообще не знает что это такое а только она занимает 30% доли рынка. Это подходит для конкретного проекта и задачи. Пока к сожалению этим нельзя полностью заменить cookies.

Как быть если проект заточен под телефоны?

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

Information

Rating
Does not participate
Location
Барыбино, Москва и Московская обл., Россия
Date of birth
Registered
Activity