Jiný obsah šablony v závislosti na JavaScriptu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Mikeš
Člen | 771
+
0
-

Lze nějak docílit podmíněného vykreslování obsahu šablony na javascriptu?

Mám one-site aplikaci, kde klikem do menu se dostanete na blok umístěný někde v dokumentu – chtěl bych docílit toho, že pokud je JS vypnut, schovaly by se ostatní bloky a aplikace fungovala klasicky (mam to navrzeno tak, ze aplikace bez js klasicky funguje). Potrebuji ale vyresit schovani/odstraneni vsech bloku z homepage.

Napadá mě, např tato jednoduchá věc –

$("body").removeClass("javascript-disabled");

A v css

.javascript-disabled .section-block { display: none; }

ALE! Obávám se, že z hlediska SEO je to naprosto špatně – ve zdrojovém kódu je něco co uživatel bez js (hlavně roboti) nikdy neuvidí a může to být vyhodnoceno jako zakázaná technika a tudíž vyřazení z vyhledávačů…

Dále mě napadlo, na homepage udělat jednoduchý JS redirect – uživatel bez JS nic nepozná a bude mít klasickou aplikaci, ale uživatele s JS to přehodi na interaktivní verzi – je toto košér?

Nějaké nápady?

Editoval Lexi (13. 3. 2013 10:34)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Určitě bych nedělal verzi webu bez JS a s JS.

Btw, lze to udělat i obráceně, standardně bloky nechat schované, a dát jim třeba display:block pokud je JS zapnutý. Přímo v sandboxu Nette se elementu <body> přidává CSS třída js na detekci zapnutého Javascriptu. Popravdě mé znalosti nesahají tak daleko, abych mohl tvrdit, že to Google neztrestá, ale spíš bych se toho nebál a hlavně nabídnul každému uživateli co nejlepší zkušenost.

Co je to za bloky, co jsou bez JS nepoužitelné?