Autor Zpráva
Yuff.3
Profil
Prajem pekný deň,
chcel by som vedieť, ako možno docieliť, aby mi na názve karty zobrazovalo "nejaký text" v prípade ak mám nejakú novú udalosť. Mám na mysli niečo také, ako je na FB, keď máme novú správu - zmení sa názov karty z "Facebook" na "Máte novú správu" (či jak presne to píše). A myslím, že sa to aj obmieňa - Facebook sa zmení na Máte novú správu a naopak.. dokým novú správu neprečítam, neodkliknem udalosť ako "videnú".

Vopred ďakujem za pomoc.
Chamurappi
Profil
Reaguji na Yuff.3:
Název stránky je v elementu <title>. Jeho text je v JS reprezentovaný jako document.title.
Yuff.3
Profil
Chamurappi:
áno viem, ale JS nie je nič pre mňa.. Je možné zapísať to napr. takto do PHP <title>Názov <? if () {echo"vypíše tento názov";}</title> ?
tiso
Profil
Yuff.3: je, ale až po prekreslení stránky. Takže ak niekomu príde správa a neobnoví/neklikne na inú stránku, tak o tom nebude vedieť. Pomocou JS to vieš zmeniť spraviť bez toho prekreslenia.
Bubák
Profil
Je to možné, ale neřeší to tvůj původní dotaz, nový TITLE by se ti zobrazil až po refreši stránky.
Yuff.3
Profil
tiso, Bubák:
áno, rozumiem. Chcieť po Vás spraviť takýto JS je asi moc, či?
Chamurappi
Profil
Reaguji na Yuff.3:
document.title = "Nastala velká událost!";
Yuff.3
Profil
Chamurappi:
jak ale bude vedieť, že tá udalosť nastala? Nerozumiem tomu.
Dan Charousek
Profil
Yuff.3:
Záleží o jakou událost se bude jednat. Může to být cokoliv. Kliknutí na tlačítko (onclick event), odpočet (setTimeout), odeslání formuláře (onsubmit event), zavolání nějaké funkce. To už je přeci na tobě.
Yuff.3
Profil
Dan Charousek:
áno, rozumiem, ale povecme teda, že sa bude jednať o správu - tak ako na FB. Príde mi správa a teda zmení sa mi hodnota stlpca v tabuľke DB. Ako ten javascript vie, že sa hodnota zmenila a má pracovať - teda má vypísať to že nastala nová udalosť?
<title>Názov 
<? 
if (splní sa podmienka, v DB bude zmena) {document.title = "Nastala velká událost!";}
?>
</title>
?
Domnievam sa, že tento kód mi fungovať nebude. Pretože zase je to o tom čo písali v #4 a #5 nie?
lionel messi
Profil
Yuff.3:
Domnievam sa, že tento kód mi fungovať nebude.
Domnievaš sa správne, odporúčam naštudovať si základy PHP. Funkčné bude toto:
<?php
if (podmienka) {
echo '<script type="text/javascript">document.title = "Nastala velká událost!"</script>';
}
?>
Dan Charousek
Profil
lionel messi:
Sice je zápis správně, ale stále to není to, čeho chce Yuff.3 docílit.

Yuff.3:
To, zda přibyl do databáze záznam musíš kontrolovat na pozadí pomocí AJAXu a na základě odpovědi ze serveru potom přepíšeš document.title

Metod jak toho docílit je spousta. Pro tebe nejjednodušší bude v nějakém (ne příliš krátkém, třeba po minutě) volat onu funkci, které vytvoří AJAXový požadavek na server. Další metoda se nazývá long polling, ale to už je na dýl a je třeba si o tom něco načíst. Stejně tak jako o AJAXu pokud nevíš o čem je řeč.
Yuff.3
Profil
lionel messi:
Funkčné bude toto:
->
Yuff.3:
zase je to o tom čo písali v #4 a #5 nie?


Dan Charousek:
Ďakujem toto je presne to čo som potreboval - pustím sa do štúdia.
Ešte si dovolím otázočku - takýto ajax nebude zaťažovať server? Keďže bude stále dokola ťahať údaj z DB? Ak správne chápem, je to niečo ako cron - pravidelne bude vykonávať nejakú funkciu.?
Keeehi
Profil
Yuff.3:
Každá funkcionalita je zátěž. Když ale napíšeš rozumný script a budeš ho volat rozumně často (interval se může při neaktivitě třeba prodlužovat) tak by to neměl být problém.
Yuff.3
Profil
Keeehi:
Rozumiem. Vďaka.

Všetkým Vám ďakujem !

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0