Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sprawdzić czy klient ma włączony javascript
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
dugem
Witam,

mam pytanie jak najlepiej sprawdzić czy user ma włączoną obsługę javascript w swojej przeglądarce?

Chciałem zabazować w sprawdzaniu fromularzy na skryptach javascript, tyle że nie wiem czy to dobry krok?
dr_bonzo
Nie ominie cie sprawdzanie danych z formularzy w php (mozna JS wylaczyc), poprostu dodaj walidacje w JS - jak JS bedzie wylaczony to bedziesz sprawdzal tylko w php. [nie wiem jak sprawdzic czy js jest wlaczony]
ktuvok
Sprawdzić można w prosty sposób, ale rzecz jasna po stronie serwera. Przy submicie formularza wypełnij jedno z ukrytych pól jakąś treścią, np:

Kod
document.Formularz.JavaScriptOn.value = "True";


a potem w php:
  1. <?php
  2.  
  3. $JavaScriptOn = $_POST['JavaScriptOn'];
  4. if($JavaScriptOn != 'True')
  5. {
  6. echo "javascript nie jest włączony!";
  7. }
  8.  
  9. ?>

Powyższy trick nie zwalnia Cię oczywiście z obowiązku zwalidowania zmiennych po stronie serwera niezależnie od wartości przesłanej zmiennej.

Pozdrawiam,
K
revyag
Można też tak:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>Title</title>
  4. </head>
  5. <script type="text/javascript">
  6. alert("javascript on");
  7. javascript off
  8. </body>
Vasquez21
takie odświeżenie tematu...

czy jest jakaś możliwość sprawdzenia przed wysłaniem formularza czy użytkownik ma JS?

kombinowałem coś z tym co napisał revyag, ale niestety poległem
ActivePlayer
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>Title</title>
  4. </head>
  5. <body onload="document.getElementById('brakjs').style.display='none';document.getElementById('jestjs').style.display='block';">
  6. <div id="brakjs">
  7. Nie ma js
  8. </div>
  9. <div id="jestjs" style="display: none;">
  10. Jest js
  11. </div>
  12. </body>

moze tak?
misiek172
<noscript>
twoja przeglądarka nie ma uruchomionej obsługi JS
</noscript>

tekst pomiędzy znacznikami <noscript> zostanie wyświetlony jeżeli przeglądarka nie obsługuje JS
php programmer
A w ogóle rzadko kiedy chyba ludzie mają wyłączone JS,
szczerze mówiąc nawet nie wiem w którym miejscu to się wyłącza
siemakuba
Cytat(php programmer @ 9.03.2007, 16:44:42 ) *
A w ogóle rzadko kiedy chyba ludzie mają wyłączone JS,
szczerze mówiąc nawet nie wiem w którym miejscu to się wyłącza


Tak, przy tradycyjnym rozumieniu przeglądarki internetowej masz rację. Ale oglądać / czytać stronę możesz też za pomocą jakiegoś screen readera, urządzenia przenośnego, klienta tekstowego (lynx).

Oparcie funkcjonalności na włączonym JS to nie jest dobry pomysł. Najlepiej zaprogramować wszystko bez jakiegokolwiek JS a potem dopiero nieinwazyjnie dołożyć JS tam, gdzie może on wspomóc funkcjonalność strony.

pozdr.
marrrecki
Zamiast przycisku typu submit trzeba dać link do funkcji wysyłającej formularz w js (link typu java script:sendForm()). Wtedy dla klienta z wyłączoną opcją js formularz będzie nieaktywny. Info o konieczności włączenia js można dać (jak pisał kolega wyżej) za pomocą <noscript>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.