Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [javascript]Fallback przy braku js, jak zrobić
jquery_man
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


Witam, chciałbym się dowiedzieć w jaki sposób ratujecie się z sytuacji gdy użytkownik nie ma javascripta i jaka metoda jest najlepsza. Załóżmy, że mamy formularz na stronie:
  1. //nieistotne
  2. </head>
  3. <div>
  4. <p>jakaś treść</p>
  5. <div id="form">
  6. <form>
  7. //jakiś tam formularz
  8. </form>
  9. </div>
  10. </div>
  11.  
  12. </body>
  13. </html>


i chcemy aby przy włączonym js nie był widoczny (tylko np. pokazywał się po kliknięciu jakiegoś przycisku, który też się pokaże dopiero gdy nie ma js).

Ja widzę kilka rozwiązań, ale nie jestem pewien które jest najlepsze i najbardziej zgodne ze standardami

1. Użycie noscript
  1. //nieistotne
  2. </head>
  3. <noscript><div id="no-js"></noscript>
  4. <div>
  5. <p>jakaś treść</p>
  6. <div id="form">
  7. <form>
  8. //jakiś tam formularz
  9. </form>
  10. </div>
  11. </div>
  12. <noscrip></div></noscript>
  13. </body>
  14. </html>

i ostylowanie elementów aby były widoczne kiedy są w id no-js
2. Rozwiązanie
  1. //nieistotne
  2. </head>
  3. <div>
  4. <p>jakaś treść</p>
  5. <div id="form">
  6. <form>
  7. //jakiś tam formularz
  8. </form>
  9. </div>
  10. </div>
  11. $('html').attr('id','js');
  12. </body>
  13. </html>

i ukrycie elementów gdy jest w id js nieco wadliwe gdy się strona wolniej uruchomi i dopiero po chwili formularz zniknie

Są jakieś inne sensowne metody? Która metoda lepsza?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
lukesh
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

Ostrzeżenie: (0%)
-----


A są jeszcze tacy ludzie, którzy nie korzystają z JS? Ja już dawno zrezygnowałem z rozbudowanego PHP na rzecz JS, ponieważ znacznie to odciąża serwer, a często może poprawić działanie samej strony www / aplikacji on-line. Myślę, że wyłączona obsługa JS i sposoby, jak sobie z tym fantem radzić, to historia z minionej epoki, kiedy królował html 4.01 i tabelki.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


  1. #form {
  2. display: none
  3. }
  4. </style>


Ten post edytował wNogachSpisz 5.05.2012, 00:44:04
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Osobiście zastosowałbym( rzadko kiedy robię strony dla użytkowników bez JS ) rozwiązanie podobnego do ~wNogachSpisz.

W zależności od sytuacji:
- albo bym wprost skorzystał z metody podanej przez ~wNogachSpisz
- albo od razu bym ukrył element( w pliku CSS ), a dopiero po załadowaniu DOM, przez JS pokazał formularz.

Wszystko zależy jak ważny jest dany element na stronie i do czego służy.

W ogóle dobą metodą jest zrobienie strony dla użytkowników bez JS, a dopiero po załadowaniu DOM wszystko odpowiednio pozamieniać za pomocą JS. Czasami nawet tworząc od nowa całe elementy, a nie tylko je odkrywać. Ale to zależy często od konkretnej sytuacji.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 04:48