Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Odpowieni html do rozdzielczosci, Wykrywanie rozdzielczośi i wyświetlanie odpowiedniego a href do niej
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Witam jestem totalny newbie z PHP i kombinuję ze skryptem który mi wykrywa rozdzielczość i odpowiedni do wykrytej wysokości ekranu wyświetli odnośnik do strony która się otwiera w nowym i zeskaluje się (heght poniżej 900 - np small_res.html), oraz takiej powyżej 900 gdzie będzie bez skalowania się np hi_res.html.

Mam coś takiego co absolutnie działa:
  1. if(screen.height>=900) { location.href='hi_res.html' }
  2. if(screen.height<=899) { location.href='small_res.html' }



Ale chodzi mi o wygenerowanie linka który będzie robił to po kliknięciu a nie od razu stronę wrzucał po wejściu. Więc kombinowałem coś takiego:
Wykrywa mi rozdzielczość i nadaje zmienną, ale nie bardzo mi chce wyświetlać link.

Zrobiłem tak sekcja HEAD
  1. <script type="text/javascript">
  2. document.location="index.php?screen_x="+screen.width+"&screen_y="+screen.height;
  3. </script>


Sekcja BODY
  1. <?php
  2. if ($_GET["screen_y"]>=900){
  3. echo ("<a href="hi_res.html" onClick="NewWindow(this.href,'main','no','center');return false" onFocus="this.blur()"><img src="images/wejscie.gif" style=" border: none;"></a>");
  4. else {
  5. //rozdzialka mniejsza
  6. echo ("<a href="small_res.html" onClick="NewWindow(this.href,'main','no','center');return false" onFocus="this.blur()"><img src="images/wejscie.gif" style=" border: none;"></a>");
  7. }
  8. ?>


To jest mój pierwszy dzień z PHP więc zaledwie parę godzi czytałem tutoriale początkowe i to tylko dlatego, że potrzebuję zrobić ten odnośnik w zależności od rozdzielczości.
Proszę o pomoc co pokiełbasiłem w php bo tylko to mi nie działa ;/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Możesz "przewidzieć" lub wykonać skrypt na jakąś konkretną ilość rozdzielczości, np.:
  1. if ($_REQUEST['xy']=="") {
  2. echo <<<KONIEC
  3.   <script language="javascript" type="text/javascript">
  4.   <!--
  5.   roz = screen.width+"x"+screen.height;
  6.   document.write('<form name="test" action="herb.php" method="post">')
  7.   document.write('<input type="hidden" name="xy" value="'+roz+'" /></form>')
  8.   document.cookie="xy="+roz;
  9.   document.test.submit()
  10.   // -->
  11.   </script>
  12. KONIEC;
  13. }
  14. switch ($_REQUEST['xy']) {
  15. case '640x480':
  16. $kolumn1 = '2'; // 2 x 200 = 400
  17. $kolumn2 = '8'; // 8 x 50 = 400
  18. break;
  19. case '800x640':
  20. $kolumn1 = '3';
  21. $kolumn2 = '12';
  22. break;
  23. case '1024x768':
  24. $kolumn1 = '4';
  25. $kolumn2 = '14';
  26. break;
  27. case '1280x1024':
  28. $kolumn1 = '4';
  29. $kolumn2 = '14';
  30. break;
  31. case '1600x1200':
  32. $kolumn1 = '5';
  33. $kolumn2 = '18';
  34. break;
  35. case '1400x900':
  36. $kolumn1 = '5';
  37. $kolumn2 = '18';
  38. break;
  39. case '1680x1050':
  40. $kolumn1 = '5';
  41. $kolumn2 = '18';
  42. break;
  43. case '1600x1200':
  44. $kolumn1 = '5';
  45. $kolumn2 = '18';
  46. break;
  47. case '1920x1080':
  48. $kolumn1 = '6';
  49. $kolumn2 = '24';
  50. break;
  51. case '2048x1536':
  52. $kolumn1 = '6';
  53. $kolumn2 = '24';
  54. break;
  55. default:
  56. $kolumn1 = '3';
  57. $kolumn2 = '12';
  58. }

Albo pobawić się i wymyślić jakiś bardziej wyrafinowany sposób. Z reguły jednak to powyższe wystarcza.
I potem możesz np. umieszczać ilość kolumn tabeli w zależności od rozdzielczości:
  1. echo '<table style="border: none"><tr>';
  2. for ($i=0;$i<count($listpl);$i++) {
  3.  
  4. if (!($i % $kolumn1)) echo '</tr><tr>';
  5. echo '<td style="border: 1px solid black; text-align: center">treść</td>';
  6. }
  7. echo '</tr></table>';
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 00:40