Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проблема с cookies (https://javascript.ru/forum/events/37502-problema-s-cookies.html)

Sherminator 22.04.2013 13:59

Проблема с cookies
 
Код:

tnow = parseInt(xmlTEMP);
if (tnow>=0){tnow='+'+tnow+' °C';}else{tnow='-'+tnow+' °C';};
createCookie('mbcurrtemp', tnow, 0.5);

Проблема в том что после выполнения скрипта вначале показывает правильное значение, например +9*С, но после такого кода

Код:

issettemp = readCookie('mbcurrtemp'); alert(issettemp )

почему-то выводиться +9* (без "С"). Как можно исправить это?

bret 22.04.2013 14:19

Что показываетв содержимом куки отладчик?
Желательно выложить демо-пример с тем, что не работает

Sherminator 22.04.2013 14:44

DevTool показывает: +9 &deg
наверное ; прерывает запись кука, но как тогда записать в кук строку +9 °С ?

С примером не получиться, денвер пока еще.

bret 22.04.2013 15:37

Пример можно сделать, например, так: http://jsfiddle.net/y75QL/1/
Варианта как минимум 3:
1) Как в указанном примере, хранить в куке значок градуса (не уверен, что это будет работать везде)
2) Сделать, как jquery-плагине: https://github.com/carhartl/jquery-c...uery.cookie.js - значение обрабатывается с помощью encodeURIComponent/decodeURIComponent
3) Хранить в куке только число, а везде, где нужен вывод градусов на страницу - вызывать доп.функцию-обёртку - более предпочтительный вариант для разделения логики и представления

Deff 22.04.2013 17:43

tnow = parseInt(xmlTEMP);
if (tnow>=0){tnow='+'+tnow+' °C';}else{tnow='-'+tnow+' °C';};
createCookie('mbcurrtemp', encodeURIComponent(tnow), 0.5);
var a=getCookie('mbcurrtemp');
if(a) {tnow=decodeURIComponent(a);alert(tnow);}

danik.js 23.04.2013 03:26

Ну и насоветовали. А что мешает сделать так 9°С ???


Часовой пояс GMT +3, время: 02:32.