تو پروژه آخرم واسه سبد خرید با js دیتا رو بصورت دستی تو کوکی ذخیره میکردم اما بعد از اینکه به تست یوزر رسید روی دیوایس های ios اصلا کار نمیکرد کوکی.با اینکه کد خاصی هم نبود!
با کمی سرچ فهمیدم تو ios کاراکترای non-ASCII توی کوکی ذخیره نمیشه.
یه راه حل url encode هست اما من واسه حل مشکل بجای هندل کردن کوکی بصورت دستی از این پکیج استفاده کردم:
https://github.com/js-cookie/js-cookie
بنظرم کلا اگه میخواین با کوکی کار کنید تو پروژه ای از همین استفاده کنید چون کار باهاش راحت و سادست.کل کدتون خلاصه میشه تو مثال های پایین:
واسه ساخت کوکی:
Cookies.set('name', { foo: 'bar' });
واسه خوندن از کوکی:
Cookies.get('name'); // => '{"foo":"bar"}'
Cookies.getJSON('name'); // => { foo: 'bar' }
واسه حذف کوکی:
Cookies.remove('name');
داخل داکش بقیه مثال ها از اینکه سایر پارامترا رو چجوری تنظیم کنید هست .
در کل اینکه واسه کار های روتین تو پروژه ها بهتره از پکیج ها کمک بگیرید چون معمولا تمیز و بهینه تر کد زده شدن و چون توسط کاربرای زیادی استفاده میشن،تو مدت کوتاهی اشکالاتشون گزارش میشه و به حالت stable میرسن و دیگه خیالتون از عملکردشون راحته.