Autor Zpráva
Zajo
Profil *
Zdravím.

Neviete ako sa dá zistiť, či má užívateľ povolený, alebo či podporuje Javascript?
Lexter
Profil
No já ti nevím, protože informace o uživateli ze zjišťují právě javascriptem.
Měsíček
Profil
<noscript>Spusťe si javascript ... </noscript>

Jiná možnost IMHO není.
Zajo
Profil *
Iná možnosť JE. Pretože Gmail funguje celý na scriptoch a keď ich vypneš --- tadá ---- prepne sa do HTML a PHP. Ale Google je iná kategória :(

Skúsim to nejako zistiť a potom vám dám vedieť ak chcete
Bubák
Profil
Zajo
Princip je tohle:
<script>
document.write('Javascript je zapnut')
</script>
<noscript>
Javascript je vypnut
</noscript>

Obsah tagů <script> i <noscript> záleží na účelu stránky a na stránce se mohou vyskytnout i vícekrát.
peta
Profil
Zajo
Pres JS povoleny JS nezjistis. To je snad logicke. Javascriptem muzes prepsat neco na strance. Ale jak ji samovolne odesles bez JS? Leda uzivatel rucne. A kdyz to odesle rucne.

Uzivateli odesli mi tento formular, ktery mi rekne, ze mas povoleny JS
<input type=hidden value="0" id="aaa">
<script>document.getElemenById('aaa').value=1;</script>
<input type=submit>
neviem
Profil *
a neviete ako by sa dalo zistiť ci je zapnutý alebo vypnutý script cez php?
Jan Tvrdík
Profil
neviem
AFAIK prohlížeč neposílá žádnou hlavičku o podpoře JS, takže to zjistit nejde.
joe
Profil
Teď mě napadají dva způsoby, jak zjistit jestli je JavaScript zapnutý, možná jednu z nich Google právě používá, nevím, to jsem nezkoumal:

1) Vytvoříš v JS skript, který bude zapisovat do cookies hodnotu boolean, jestli je zapnutý nebo ne.
2) Využiješ AJAX bez odezvy, že pošleš parametr na nějaký skript a ten zapíše do sessions.

Pro oba případy je ale nutné mít zapnuté cookies, ty zase můžeš ověřit pomocí PHP, docela jednoduché ne? ;-)
Joker
Profil
peta
Ale jak ji samovolne odesles bez JS?
Třeba meta refresh.

Primitivní metoda, jak to udělat (hrubý náčrtek):
<html><head><title>Loading...</title>
<script type="text/javascript">
  document.cookie = "javascript=1; path=/";
</script>
<meta http-equiv="refresh" content="5;url=http://example.com/stranka.php">
</head>
<body>Čekejte prosím...</body></html>

...stranka.php by pak zkontroloval, jestli existuje cookie "javascript".
Bubák
Profil
Napadlo mě tohle:
<script>
window.location.href = "http://www.example.com/?javascript";
</script>

Parametr v adrese se dá jednoduše odchytit pomocí PHP. Není to závislé na zapnutí cookies, obrázků...
Ale nevím, jak to udělat, aby script neběhal pořád dokola.
Matty
Profil
neviem
Ač je to divné, funguje toto řešení:
<noscript><?php $js='vypnuty'; ?></noscript>
Bubák
Profil
Matty
Nechápu, co s tím, zkusil jsem:
<noscript><?php $js='vypnuty'; ?></noscript>
<?php echo "$js"; ?>

Ale vždy mám jako výsledek "vypnuty".
Joker
Profil
Matty
Ač je to divné, funguje toto řešení:
O co, že nefunguje? :-)
Matty
Profil
Joker
O co, že nefunguje? :-)
Divné, vážně divné :-D. Před nedávnem mi něco podobného fungovalo. To jsou mi věci...
karbon
Profil *
A co tak použít přesměrování? Bude stránka, na které bude odkaz při vypnutém javascriptu např. js.php?js=0 a při zapnutém js.php?js=1. Nebo se mýlím (přece jen to je pouze idea, nikde jsem to nezkoušel)?
karbon
Profil *
Ne, jinak. Při zapnutém JS se přesměruje, při vypnutém to zůstane tam, kde to je. Snad.
Bubák
Profil
Nějak takto:
<script>
if (window.location.href != "http://www.example.com/?javascrit") {window.location.href = "http://www.example.com/?javascrit"; }
</script>
srigi
Profil
Najlepsie riesenie sem napisal(a) peta. Jednoduche, pochopitelne.
los
Profil *
Iba by ma zaujímalo, na čo vôbec potrebuješ na serveri vedieť, či klient podporuje JavaScript alebo nie?

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:

0