Diskuze: Jak na Add to favorites tlačítko
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Pokud ma mit neco uzivatel ulozene, musis to ulozit server.
Jestli to spravne chapu, ty tam zadne uzivatele neresis. Jenom pouzivas SELECT z
nejake jine sluzby.
V tom pripade je tu moznost pouzit javascriptove cookies nebo dataStorage.
google = js cookies example
https://www.guru99.com/…e-guide.html
// SET (INSERT)
document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC; path=/ "
// GET (SELECT)
var x = document.cookie
// DELETE
document.cookie = "cookiename= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"
google = js dataStorage example
https://developer.mozilla.org/…side_storage
https://stackoverflow.com/…ions/4695652#…
// SET (INSERT)
localStorage.setItem('name','Chris');
// GET (SELECT)
var myName = localStorage.getItem('name');
// DELETE
localStorage.removeItem('name')
Prevod pole do stringu se da resit pres JSON, stringify.
Pro cookies je limit velikosti (Browsers limit cookies to 4 kB). Cookies maji
cas expirace a lze je v prohlizeci smazat. Takze pro trvalejsi ulozeni je lepsi
pouzit databazi na serveru.
Cookies vyzaduji spravny zapis dat (cookievalue). Kdyz se tam objevi nezadouci
znak, ktery nemas osetreny, treba strednik, tak se cookie neulozi nebo ne
spravne.
google = js cookies escape value
window.escape.
window.unescape
// zapis pomoci jquery
$.cookie('key', value, { expires: 365 });
Plánuji to dělat přes localStorage, jenže mám problém s tím, že nevím, co bych tam měl vložit jako parametr(cityName?, search-box.value?), protože když pak budu chtít ukázat všechna uložená města, tak pokud tomu rozumím dobře budu nucen opět volat API s parametrem, který dostanu z local storage a k tomu tam bude potřeba vytvořit cyklus, který projede celý localStorage a vloží postupně všechny uložená města do API, a ty se pak vytisknou
Cookies funguje tak, ze, ulozi data pro url stranky. Nespis i localStorage
(LS). Pokud pouzivaji stejny pc 2 uzivatele, budou mit 1 ulozena data. To je
takova nevyhoda.
U cookies ukladas jmeno a hodnotu. Tam je limit delky. U LS nee.
Hodnota se prevadi na string. U LS nevim, asi taky.
Takze, kdyz mas pole, treba pole s mesty, tak to prevadis na string pomoci JSON,
kdyz ukladas. Kdyz ctes, tak prevadis zpet string na pole.
...Ja obvykle ukladam data uzivatele do databaze na server. Tam je moznost
rozlisit uzivatele podle loginu. U C/LS to jde taky, ale ty se pouzivaji, kdyz
nepotrebujes uzivatele prihlasovat. Podle mne bys mel, ale mozna nepotrebujes.
To neumim posoudit.
S tim cyklem to nechapu. Pole se da cislovat, ulozit mesto jako cislo+text, treba. Cyklus je treba pak na vypsani.
var pole = {};
pole[7] = 'Aljaska';
pole[3] = 'Usa';
for (i in pole) {alert(pole[i]);}
pole[3] = null;
if (typeof pole[3]!=='undefined' && pole[3]!=null) alert('existuje');
Zobrazeno 4 zpráv z 4.