Autor Zpráva
bielda
Profil
Zdravím,
rád bych s vámi skonzultoval vytvoření kompletních stránek pomocí AJAXu.

Základem jsou normální stránky, které jsou normálně provázány pomocí klasických odkazů.
Odkaz na stránku vypadá třeba http://domena/stranka

Všem těmto odkazům přiřadím onclick událost, která bude pomocí AJAXu načítat obsah odkazované stránky a ten zobrazovat. Nedojte ke znovunačtení stránky. Starý obsah se skryje.
Součástí onclick události bude i přidání názvu stránky za # do adresního řádku prohlížeče. Například http://domena/#stranka
Stránky http://domena/stranka a http://domena/#stranka budou tedy naprosto ekvivalentní.
Na pozadí se bude v intervalech vykonávat funkce, která bude kontrolovat změnu názvu stránky za # a podle toho načítat daný obsah.

Stránky tedy fungují bez AJAXu (javascriptu), je zachována i funkce tlačítka zpět. Vyhledávače stránky indexují.

Pokud bude mít uživatel zapnutý javascript a dostane se na stránku http://domena/stranka bude pomocí javascriptu přesměrován na stránku http://domena/#stranka.
Nedojde tak h hromadění různých odkazů vedoucích na stejné stránky.
Například http://domena/stranka#jina-stranka a http://domena/jeste-jina-stranka#jina-stranka by vedly na stejnou stranku (pro uživatele s povoleným JS).

Jediný problém tedy vidím, pokud uživatel se zakázaným JS někde najde odkaz http://domena/#jina-stranka. Zobrazí se mu obsah stránky http://domena/ a bude nazloben, že se nedostal, kam chtěl (kam měl).
Nenapadá mě způsob, jak to řešit nějak elegantně. Jedině zobrazit zprávu:
Nemáte povolený JS, stránka se pravděpodobně nenačetla správně. Pro načtení správné stránky stačí odmazat znak # v adresní řákce prohlížeče.


Co si o tomhle stylu dělání stránek myslíte? Vidíte tam i jiný problém?
Senky
Profil
Pomocou php zistis ci klientovi funguju JS, a ked nie tak sa to presmeruje....
Chamurappi
Profil
Reaguji na bieldu:
Co si o tomhle stylu dělání stránek myslíte?
Je zbytečně složitý. Obloukem bych se mu vyhnul, kdyby to nevyžadovala povaha daného webu.

Vidíte tam i jiný problém?
Vyhledávače budou brát všechny externí #odkazy na tvůj web jako odkazy na úvodní stránku, což asi není žádoucí.
Jak máš ošetřený stav, kdy si uživatel uloží stránku na disk?

Nemáte povolený JS, stránka se pravděpodobně nenačetla správně.
Taková zpráva běžného uživatele určitě potěší. Napiš mu raději, že se stránka nenačetla správně, protože jsi ji neudělal normálně, a pošli ho rovnou na konkurenční weby, které normálně udělané jsou :-)
bielda
Profil
Díky za názor.
Nakonec jsem se rozhodl to kompletně překopat, aby to bylo zcela funkční i uživatelům bez JS.

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: