Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wykrywanie JavaScript'u, za pomocą php
--Bartek--
post
Post #1





Goście







Witam.

Podpowie mi ktoś jak napisać mały skrypcik w PHP który wykrywa obsługę JavaScript'u i w zależności od rezultatu podejmuję odpowiednią akcję.
Byłbym bardzo wdzięczny za pomoc.

Pozdrawiam.
Go to the top of the page
+Quote Post
-gox-
post
Post #2





Goście







Dobre pytanie do ktorego z cala stanowczoscia sie dolaczam.
Sam stawiam pierwsze kroki w JS i wyrzezbilem sobie z nudow cos takiego:

  1. <script language="javascript" type="text/javascript">
  2.  
  3. function $(p) {
  4. return document.getElementById(p);
  5. }
  6.  
  7.  
  8.  
  9. <style type="text/css">
  10.  
  11. nojs {
  12. min-height:100%;
  13. height:100%;
  14. min-width:100%;
  15. width:100%;
  16. background-color:red;
  17. font-size:500%;
  18. color:red;
  19. }
  20.  
  21. <body onload="
  22. $('nojs').style.visibility = 'hidden';
  23. ">
  24.  
  25. <div id="nojs">
  26. Aby zobaczyc ta strone musisz miec wlaczona obsluge javascript
  27. <br ><br ><br ><br ><br ><br ><br ><br ><br ><br ><br ><br >
  28. </div>
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Kod
<div id="nojs">
Aby zobaczyc ta strone musisz miec wlaczona obsluge javascript
<br ><br ><br ><br ><br ><br ><br ><br ><br ><br ><br ><br >
</div>

A o <noscript/> słyszałeś?
Go to the top of the page
+Quote Post
bim2
post
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


W php tego nie wykryjesz, a gość -gox- ma pytanie z innej beczki, bo mu php nie potrzebny.

Możesz zrobić tak jak erix podał <noscript> ale to nadal html, nie php.
Go to the top of the page
+Quote Post
-gox-
post
Post #5





Goście







Fajnie, noscript, w moim przypadku, (a przypadek jest taki, ze chce uniemozliwisc wysweitlanie calej strony) kodzi powinien wygldac tak:

  1. <div style="
  2. position: fixed; 0px 0px;
  3. min-height:100%;
  4. height:100%;
  5. min-width:100%;
  6. width:100%;
  7. background-color:white;
  8. font-size:500%;
  9. color:black;
  10. ">
  11. Twoja przeglądarka nie obsługuje JavaScript!
  12. <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
  13. </div>


A to wielokrotne BR, to daletego, ze IE nie respektuje height 100% ani tym bardziej min-height

dzieki za pomoc, bez nerowow (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A Google gryzie? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
http://www.google.com/search?hl=pl&cli...=Szukaj&lr=
Go to the top of the page
+Quote Post
-gox-
post
Post #7





Goście







Hmm, z niewyjaśnionych przyczyn, taki kod zaczął poprawnie działać pod IE 6.0.29 winSP3
poprawnie tj, wysokość -> 100% okna przeglądarki
Ktos domyśla się dlaczego?

  1. <div style="
  2. position: fixed; 0px 0px;
  3. min-height:100%;
  4. height:100%;
  5. min-width:100%;
  6. width:100%;
  7. background-color:gray;
  8. font-size:500%;
  9. color:black;
  10. ">
  11. Twoja przeglądarka nie obsługuje JavaScript!
  12. </div>
Go to the top of the page
+Quote Post
--Bartek--
post
Post #8





Goście







Cytat
Witam,

Problem taki jak w temacie.
Czy można z poziomu PHP wykryc czy przglądarka ma włączoną obslugę JS


Cytat
teoretycznie nie, poniewasz PHP działa na serverze i jak skończy prace(w uproszczeniu) strona jest wtsyłana do przeglądarki, a tam dopiero JS zaczyna prace, więc w chwili kiedy PHP działa jeszcze nie działa JS na przegladarce

prakrycznie,
robisz strone index tak że jeśłi PHP niewie czy JS jest na przeglądarce wkleja kod JS który przeładuje strone z GET['js']==Tak , urzytkownik prawie nie zauważy (jak będzie dobrze zrobione) a PHP będzie wiedział (dobrze to potem w sesje zapisać)


Źródło - forum.webdiary.pl


Zamienił by ktoś to w piękny kod PHP? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Pozdrawiam.
Go to the top of the page
+Quote Post
bim2
post
Post #9





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


No teoretycznie się tak da, ale można to oszukać. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Może powiedz nam, po co ci w php wiedzieć, czy ktoś ma js? To wtedy coś poradzimy?
Go to the top of the page
+Quote Post
--Bartek--
post
Post #10





Goście







Potrzebuję czegoś co zablokuje dostęp dla użytkowników bez obsługi js nie blokując przy tym botów indeksujących (o ile 'nie php'owe' metody tego nie robią). Robią? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
bim2
post
Post #11





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Hmmm, tak na logikę, ja mogę się podszyć bod bota indexującego więc i tak dostanę to co chce. Najlepszym wyjściem bedzie
  1. <noscript>
  2. <?php
  3. if(bot===false)
  4. {
  5. echo '<div style="height: 100%; width: 100%; background: black; position: absolute; top: 0; left: 0"></div>';
  6. }?>
  7. </noscript>
Go to the top of the page
+Quote Post
--Bartek--
post
Post #12





Goście







Wielkie dzięki. Jesteś WIELKI (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)



Pozdrawiam i jeszcze raz dziękuję.
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: 23.08.2025 - 08:39