Ajax Náhrada Titlu stránky
- ic
- Člen | 430
Nic takového jsem sice neřešil, ale napadá mě…
použít manuální payload a kromě samotného obsahu html poslat
i setTitle
if ($this->isAjax()) {
$this->payload->setTitle = json_encode('nadpis');
$this->sendPayload();
.
.
.
a pro onu setTitle si vytvořit funkci v javascriptu
.
.
.
if (payload.setTitle) {
document.title = payload.setTitle;
}
.
.
.
Pro prozkoumání toho co se při invalidaci snippetu děje poslouží
Firebug je tam taky nějaký json ve kterém je celý obsah html, ale přesně
už nevím. Tak prostě tohle by se vypsalo jako payload a přidal by se ještě
jeden pro title
a javascriptová funkce, který by se o tohle
postarala je už pak snadná.
- knyttl
- Člen | 196
ic napsal(a):
Nic takového jsem sice neřešil, ale napadá mě…
použít manuální payload a kromě samotného obsahu html poslat i setTitleif ($this->isAjax()) { $this->payload->setTitle = json_encode('nadpis'); $this->sendPayload(); . . .
a pro onu setTitle si vytvořit funkci v javascriptu
. . . if (payload.setTitle) { document.title = payload.setTitle; } . . .
Pro prozkoumání toho co se při invalidaci snippetu děje poslouží Firebug je tam taky nějaký json ve kterém je celý obsah html, ale přesně už nevím. Tak prostě tohle by se vypsalo jako payload a přidal by se ještě jeden pro
title
a javascriptová funkce, který by se o tohle postarala je už pak snadná.
Přesně tak nějak jsem si to představoval, jen jsem si říkal, že by tohle mělo jít v Nette nějak líp. Jakože pokud mám v layoutu:
<title>{include #title}</title>
Tak extrahovat to přímo z toho není úplně triviální – musím to dělat ještě někde nějak zvlášť (duplicitně).
Mimo to, úplně nevím (to se možná pletu), zda je takhle triviální ke snippetům přikládat i takovýhle payload.
- Vojtěch Dobeš
- Gold Partner | 1316
Payload přikládat lze, snippety jsou vpodstatě jen
$this->payload->snippets = ...
.
- knyttl
- Člen | 196
vojtech.dobes napsal(a):
Payload přikládat lze, snippety jsou vpodstatě jen
$this->payload->snippets = ...
.
Jasné.
Každopádně teda vůbec netuším, jak extrahovat ten title z šablon. Kdyby bylo možné nějak přiřadit snippet k titlu, třeba něco jako:
<title n:snippet>{include #title}</title>
- knyttl
- Člen | 196
Patrik Votoček napsal(a):
pekelnik napsal(a):
Tohle je sice hezke ale prohlizece to ignoruji…
Já tohle tedy normálně používám, podle mě to prohlížeče neignorují, nicméně to neřeší problém se snippety.
- Patrik Votoček
- Člen | 2221
možná jsem měl napsat že myslím konkřétně 2hý parametrl metody pushState což je právě title který se tu řeší.
Nicméně je možné že už tomu je jinak.
- Filip Procházka
- Moderator | 4668
Patriku, kdyby jsi dával na Webexpo pozor, tak Jakub říkal, že většina
prohlížečů ho nějakým způsobem ignoruje. Tohle všem řeší knihovny
(myslím že i history.js)
pomocí nahrazení <title>
v <head>
- Patrik Votoček
- Člen | 2221
Filipe: kdyby jsi četl pořádně tak víš že o tom já se nepřu! Tady není řeč o knihovně která to umí (např. tebou zmiňovaný history.js). Ale o nativní součásti ECMAScriptu 5. Kde jak sám říkáš je to ignorováno. :-)
- peterpp
- Člen | 9
ic napsal(a):
knyttl napsal(a):
Kůůůůl, tohle by se určitě mělo dopsat do dokumentace.
ale ideálně i s poznámkou, že je to validní až od HTML5, do té doby nemohlo být id v title elementu
A este s poznamkou, ze zmena <title> nemusi byt povolena. Napr. na Androide to hadze vynimku, ktoru je potrebne osetrit (testovane na verzii 2.3.3). Na iOS funguje pekne. Diky.
Editoval peterpp (17. 7. 2012 20:33)