Autor Zpráva
peťan
Profil *
Mám problém s ukládáním cookies.

Na stránce (jsou na všech stránkách - slouží ke změně barvy pozadí) mám dvě tlačítka. Když tlačítko stisknu změní se barva a uloží se pomocí JS cookie s barvou. Změna barvy funguje vždy, ale cookie mi to ukládá jenom, pokud jsem na hlavní stránce. Nikde jinde ne. Přitom mám změnu barvy i uložení v jedné funkci, která se 100% provede - změní se barva.

Nevíte někdo, kde by mohl být problém?
Díky
Keeehi
Profil
Prosím o odkaz na živou ukázku.
peťan
Profil *
Tady na této stránce: www.mylms.cz

Tlačítka jsou nahoře vlevo.
Keeehi
Profil
Řekl bych, že za to může
for(cnt= 0;cnt<5; cnt++){
    document.getElementsByClassName("separ")[cnt].style.backgroundColor = get_color;
}
Předpokládáš, že na všech stránkách je 5 separátorů a navíc je to strašně neefektivní. Ale hlavně, když jich tam je méně, tak javascript prostě padne a tak se ani nevytvoří cookie.

Správně by to mohlo vypadat nějak takto:
var separators = document.getElementsByClassName("separ");
for(cnt=0 ; cnt<separators.length ; cnt++){
    separators[cnt].style.backgroundColor = get_color;
}

Ovšem úplně nejsprávněji by celý článek měl být obalen do jednoho divu a ten by měl nastavený margin-bottom. Protože vertikální odsazení se takto vůbec nedělá. Tag <br> neslouží k vycpávání prostoru!

Jinak těch chyb v javascriptu tam je více. Měl bys je opravit.
peťan
Profil *
jinak, skripty jsou v www.mylms.cz/js/funkce.js
Je to 2. 3. a 4. funkce


Díky, zjevně to bylo tím.
Nyní to zkouším, cookie se uloží, ale viz obrázek. Takže změna globálně funguje pouze z hlavní stránky.
Barvu pozadí změním, ale pokud na stránku najedu znovu, tak se změní na "undefined"




Jinak, s těma stránkama se tak nějak učím. Chápu, že není nejlepší nasazovat v ostrým provozu takový pokusy, ale... :)


Tak by to mělo být snad OK. Při vytváření cookies jsem přidal cestu path=/

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: