Autor Zpráva
Jack F.
Profil *
dobrý den,
chtěl bych se zeptat, jak se dá zjistit jestli je js zappnutý nebo vypnutý.
vím že to jde pomocí <script> a <noscript>, ale to mi nepomůže.
příklad:
mám stránku, na které používám js. pokud je zaplý vyhodí to alert, jinak napíše že je vyplý. jde to? děkuji
habendorf
Profil
Jo. Napsat natvrdo "je vyplý" a javascriptem to schovat. Třeba.
Joker
Profil
Například:

<div id="jsvarovani">Zapněte si prosím Javascript!</div>
<script type="text/javascript">
if(document.getElementById && document.getElementById("jsvarovani") && document.getElementById("jsvarovani").style){
document.getElementById("jsvarovani").style.display = "none";
alert("Máte zapnutý Javascript!");
}
</script>

edit: Chjo, zase jsem to nestihl :)
Bubák
Profil
vím že to jde pomocí <script> a <noscript>, ale to mi nepomůže.
Proč by nepomohlo?
http://teststranek.kvalitne.cz/javascript/
roberta
Profil
alebo si urob 2 súbory:

index.html

<html>
<head>
</head>
<body onload="windows.location='js-povoleny.html'">
js je vypnuté
</body>
<html>

js-povoleny.html

<html>
<head>
</head>
<body>
js je zapnuté
</body>
<html>

ak klikneš na index html, tak pri zapnutom JS ta to redirectne na js-povoleny.html a pri vypnutom to zostane v index.html
Eddie
Profil
ak klikneš na index html, tak pri zapnutom JS ta to redirectne na js-povoleny.html a pri vypnutom to zostane v index.html
toto riesenie sa mi nezda ako prilis vhodne...
Joker
Profil
toto riesenie sa mi nezda ako prilis vhodne...
Ani mně.
roberta
Profil
Joker, Eddie
mne sa nezdá vhodný na stránkach javascript :)
Joker
Profil
roberta
To záleží na tom k čemu tam je ;-)
Ale to přesměrování by myslím přineslo spoustu nevýhod.
Eddie
Profil
roberta
Javascript moze niekedy velmi pomoct ale ak sa pouzije nespravme prinesie len problemy...
Jack F.
Profil *
no ono jde o to, že máme už trošku větší projekt, kde se zjišťuje i jestli je stránka zapnutá (přes db), jaký je aktuálně nastavený téma, prostě to nejde tak lehce, jako <noscript>. Chtělo by to něco jako
......
</head>
<body>
if(js == on)
...ok, zpracování...
else
echo '<p style="...styles...">Zapněte si prosím JavaScript, tato stránka jej vyžaduje.</p>';

Jako dobré řešení mi přišlo, ale když bych tam dal místo alertu php funkci include, tak to asi moc nepomůže... :o(
Nešlo by to nějak přes php, nebo asp, nebo nějakej jinej jazyk, prostě nějakou podmínkou? Anebo aby to mohlo použít i php include? třeba na rapidshare.de to tak mají. nevím jestli tam includujou, ale noscript tam není...
Leo
Profil
Idealni je udelat stranky tak, aby aspon castecne (trebaze ne tak konfortne) fungovaly i bez JS, a pak detekci nemusite resit. Leo
Joker
Profil
Jack F.
Tak přesně tohle řeším tak, jak se psalo hned na začátku- buď <noscript> anebo varování, které se pak skryje pomocí JS.
Zjistit přes PHP, jestli je zapnutý JS, to by asi byl docela problém...
možná něco takovéhoto:
<form action="javascriptova_stranka.php">
<script type="text/javascript">
document.write('<input type="hidden" name="jszapnuty" id="jszapnuty" value="1">');
</script>
<input type="submit" value="Javascriptová stránka">
</form>

Idealni je udelat stranky tak, aby aspon castecne (trebaze ne tak konfortne) fungovaly i bez JS, a pak detekci nemusite resit. Leo
Jasně, ale například jsem dělal takový editor, který měl tolik funkčnosti dělané přes JS, že mi přišlo výhodnější uživatele bez JS úplně "odstřihnout". Ale samozřejmě až potom, co jsem uvážil, že je to stránka přístupná jen administrátorům webu a měl jsem i představu z jakých prohlížečů a nastavení se administrátoři obvykle přihlašují.

Ale i tak jsem později dodělal ještě zjednodušenou verzi, která nevyžadovala JS :-)
Jack F.
Profil *
a není v php nebo jiném jazyku nějaká funkce ke zjištění js? třeba v js je něco jako java.enabled, tak kdyby to pro js bylo v php....
tiso
Profil
Jack F.
PHP na strane servera nemá odkiaľ vedieť či je povolený JS na strane klienta...
Joker
Profil
Jack F.
Jak píše tiso, PHP nemá tušení komu vlastně ten výstup posílá, tkaže jedině, že by to ten klient sám řekl, například tak jak píšu ve svém předchozím příspěvku.
Toto téma je uzamčeno. Odpověď nelze zaslat.