Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.60.166] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Сделал движок ИМ на чистом javascript работает даже на гугл диске.
Отсутствие серверной части накладывает некоторые ограничения, которые я (как мне кажется) решил. Посмотрите пожалуйста демку моего магазина http://novye-podarki.ru/heeg.html и скажите, что совсем -совсем не нравится, а что нужно переделать. Считаю что у моего движка огромный потенциал. Например Вконтакте для установки приложения iframe требует наличия https , а чтобы получить сертификат, даже бесплатный нужен хостинг с постоянным ip и довольно много возни с получением сертификата. Гугл диск и отсутствие php в моем движке решает эту проблему и магазинчик отлично смотрится на сайте VK |
Сообщ.
#2
,
|
|
|
нажал f5 и все мои заказы исчезли
|
Сообщ.
#3
,
|
|
|
Хм. а какой браузер? весь заказ хранится в куки, поэтому если в настройках вашего браузера стоит удалять куки, то заказ будет стираться при обновлении страницы.
А зачем вы нажали f5? |
Сообщ.
#4
,
|
|
|
Цитата heeg.ru @ А зачем вы нажали f5 потому что захотел перезагрузить страницу. Цитата heeg.ru @ Хм. а какой браузер я.браузер Цитата heeg.ru @ весь заказ хранится в куки, поэтому если в настройках вашего браузера стоит удалять куки, то заказ будет стираться при обновлении страницы. настроек не стоит. Почему именно куки, почему не более подходящие для этого вещи - localStorage, IndexedDB? |
Сообщ.
#5
,
|
|
|
Цитата Serafim @ подходящие для этого вещи - localStorage, IndexedDB? согласен и размером больше и работать будет быстрее, просто не смог с этим разобраться а помочь некому |
Сообщ.
#6
,
|
|
|
localStorage.setItem('key', 'value') |
Сообщ.
#7
,
|
|
|
не знаю как это переделать на localStorage это
/****************************************************** data storage and retrival ******************************************************/ /* load cart from cookie */ me.load = function () { var me = this; /* initialize variables and items array */ me.items = {}; me.total = 0.00; me.quantity = 0; /* retrieve item data from cookie */ if( readCookie('simpleCart') ){ var data = unescape(readCookie('simpleCart')).split('++'); for(var x=0, xlen=data.length;x<xlen;x++){ var info = data[x].split('||'); var newItem = new CartItem(); if( newItem.parseValuesFromArray( info ) ){ newItem.checkQuantityAndPrice(); /* store the new item in the cart */ me.items[newItem.id] = newItem; } } } me.isLoaded = true; }; /* save cart to cookie */ me.save = function () { var dataString = ""; for( var item in this.items ){ dataString = dataString + "++" + this.items[item].print(); } createCookie('simpleCart', dataString.substring( 2 ), 30 ); }; и это function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { createCookie(name,"",-1); } пока для меня это слишком сложно |
Сообщ.
#8
,
|
|
|
Цитата heeg.ru @ Сделал движок ИМ на чистом javascript Цитата heeg.ru @ не знаю как это переделать на localStorage Учитывая то, что работать с LS в разы проще, нежели с кукисами - вообще не понимаю в чём проблема... Что-то тут не так Добавлено Не просто в разы проще, а беспредельно. Записывая кукисы надо знать не только на какой домен их класть, какой протокол они могут использовать, на какое время, как сохранять (постоянно или сессионно). В то же время у локал стораджа всего два метода - сохранить значение под N псевдонимом и получить значение по N псевдониму. Добавлено ну не буквально два - ещё есть методы удалить значение и очистить всё, но это мелочи |
Сообщ.
#9
,
|
|
|
очевидно, что я не разбираюсь ни с тем ни с другим просто взял готовые куски из другого кода
|
Сообщ.
#10
,
|
|
|
Настало твоё время свершений! Тот момент в изучении элементарнейшего апи =)
|
Сообщ.
#11
,
|
|
|
все просто и непросто. Представь, что у тебя есть огромный код, в котором используются куки. данные из куки считываются массивом и элементы этого массива где-то в коде используются. Все работает. И тут ты решаешь переделать на ЛС. Как его считать массивом? да и зачем вообще его считывать массивом, если к переменным можно прямо из кода обращаться? Где по коду искать эти переменные? Это переделка 100% всего скрипта. Просто заменить одно хранилище на другое не получится.
|
Сообщ.
#12
,
|
|
|
к ls тоже как к массиву можно обращаться, если что.
Добавлено но только на чтение. |