Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript]Sprawdzanie rozdzielczości ekranu
Forum PHP.pl > Forum > Przedszkole
patryk9200
witam!
Jest może możliwość sprawdzenia przez stronę (php, html itp.) jaką ma użytkownik rozdzielczość i do rozdzielczości przypisac np. zmienną?
albo instrukcję warunkową, że wyswietla dany kod przy danej rozdzielczosci?
erix
Tylko i wyłącznie JavaScript.

http://www.google.com/search?q=javascript+...-8&oe=utf-8
patryk9200
hmm... a nie z na ktoś innego rozwiązania?
znalazłem jeden skrypt ale nie wiem czemu nie działa;/
oto on
  1. <?php
  2. <script LANGUAGE='JavaScript'>
  3.  
  4. <!-- This script and many more are available free online at -->
  5. <!-- The JavaScript Source!! <a href=\"http://javascript.internet.com\" target=\"_blank\">http://javascript.internet.com</a> -->
  6. <!-- Original:  Hamid F. Fard (hamid@petanet.com ) -->
  7. <!-- Web Site:  <a href=\"http://www.petanet.com\" target=\"_blank\">http://www.petanet.com</a> -->
  8. <!-- Begin
  9.  var ScrnSize = 'UnCommon'
  10.  
  11.  if (navigator.appVersion.indexOf('4.') != -1 &&
  12.      navigator.appName.indexOf('Explorer') != -1) {
  13.     ScrnSize = screen.width + 'x' + screen.height;
  14.  }
  15.  if (navigator.appVersion.indexOf('4.') != -1 &&
  16.      navigator.appName.indexOf('Netscape') != -1) {
  17.     ScrnSize = screen.width + 'x' + (screen.height + 19); //Netscape sees 19 pixels less on Height
  18.  }
  19.  switch(ScrnSize) {
  20.    case '640x480':   document.write('<body bgcolor='#FF0000' text='#000000'>');
  21.    case '800x600':   document.write('<body bgcolor='#00FF00' text='#000000'>');
  22.    case '1024x768':  document.write('<body bgcolor='#0000FF' text='#000000'>');
  23.    case '1152x864':  document.write('<body bgcolor='#FFFF00' text='#000000'>');
  24.    case '1280x1024': document.write('<body bgcolor='#AA0000' text='#000000'>');
  25.    case '1600x1200': document.write('<body bgcolor='#FF00FF' text='#000000'>');
  26.    case '1600x1280': document.write('<table align=left border=0 style='position: absolute; top: 0; left:20%; z-index: 0'>
  27. <tr><td>
  28.  
  29. ".$baner12."
  30. ".$baner13."
  31. ".$baner14."
  32. ".$baner15."
  33. ".$baner16."
  34. </tr></td>
  35. <br><br>
  36. </body>
  37. </html>');
  38.    default:          document.write('<body bgcolor='#FFFFFF' text='#000000'>');
  39.  }
  40.  
  41. // The following 3 lines are for display only. They can safely be removed.
  42.  document.write('Browser Type=' + navigator.appName + '<BR>');
  43.  document.write('Browser Version=' + navigator.appVersion + '<BR>');
  44.  document.write('Screen Resolution=' + screen.width + 'x' + screen.height);
  45.  
  46. //  End -->
  47. </script>";
  48. ?>


A dodam, że moja mama ma np. 24cal monitor i rozdzielczość bagatela 1920x800.....
erix
Cytat
hmm... a nie z na ktoś innego rozwiązania?

Nie ma, nie rozumiesz? No chyba, że znasz Javę i potrafisz napisać odpowiedni aplet.

Cytat
znalazłem jeden skrypt ale nie wiem czemu nie działa;/

Zazwyczaj w konsoli błędów przeglądarki są jakieś komunikaty, jeśli coś nie działa...
patryk9200
cały czas pisze ze mam tu bład ale jaki oprócz "char" nie pisze...
w tej linijce niby jest:

SCRIPT LANGUAGE='JavaScript'>
var ScrnSize = 'UnCommon';
if (navigator.appVersion.indexOf('4.') != -1 &&

co może być przyczyna?
nie znam sie za bardzo na JS....
flashdev
Cytat(patryk9200 @ 14.02.2009, 16:40:45 ) *
witam!
Jest może możliwość sprawdzenia przez stronę (php, html itp.) jaką ma użytkownik rozdzielczość i do rozdzielczości przypisac np. zmienną?
albo instrukcję warunkową, że wyswietla dany kod przy danej rozdzielczosci?


Kod
// js:
alert(screen.width)
alert(screen.height)
alert(screen.colorDepth)
skowron-line
http://blatek.ma.ciekawe.info/javascript/rozm_ekr.html
patryk9200
i dalej nie znalazłem rozwiazania... firefox pokazuje mi coś takiego:
Błąd: missing ) after argument list
Plik źródłowy: http://autos.home.pl/
Wiersz: 896, Kolumna: 68
Kod źródłowy:
case '1280x800': document.write("<table align=left border=0 style="position: absolute; top: 0; left:1010; z-index: 0">


zrobiłem troche inny JS
ale mi tez wyskakuje bład ale inny:
Błąd: unterminated string literal
Plik źródłowy: http://autos.home.pl/
Wiersz: 882
tak wyglada ten JS:
  1. <?php
  2. <script type='text/javascript'>
  3. var Szer = screen.width;
  4. if (Szer <= 1280) document.write('".$baner12."
  5. ".$baner13."
  6. ".$baner14."
  7. ".$baner15."
  8. ".$baner16."');
  9. else if (Szer > 800) document.write('".$baner12."
  10. ".$baner13."
  11. ".$baner14."
  12. ".$baner15."
  13. ".$baner16."');
  14. </script>";
  15. ?>


jak zauważyłem błąd jest tylko zwracany jeśli jest jakikolwiek element html w skrypcie... jak to obejść?
webdevil
podejrzewam, że używasz w baner_x cudysłowiu/apostrofu.. przez co document.write Ci się wcześniej zamyka, a nie na końcu.
patryk9200
////usunięto/////
webdevil
  1. <?php
  2. document.write ("<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"                                 codebase="http://active.macromedia.com/flash4/cabs/swflash.cab#version=4,0,0,0" id="baner-180x80" width="159" height="79">
  3. ?>


No spójrz - masz na początku " i po classid=... zamień document.write("...") na document.write(\'...\');
patryk9200
też nie działa ;/
a nie da sie może jakoś tak żeby strona sprawdziła najpierw rozdzielczość wysłała ja ciasteczka oraz np. met. POST do jakiejś petli warunkowej w php i wyswietliło by odpowiedni kod?
bo ten JS pomimo że niby nie ma błędów to nie działa...
erix
Cytat
a nie da sie może jakoś tak żeby strona sprawdziła najpierw rozdzielczość wysłała ja ciasteczka oraz np. met. POST do jakiejś petli warunkowej w php i wyswietliło by odpowiedni kod?

AJAX. Ale od JavaScript się nie wymigasz.

Cytat
bo ten JS pomimo że niby nie ma błędów to nie działa...

Rusz wreszcie cztery litery i sam trochę pokombinuj, a nie cichcem oczekujesz na gotowca. Dostałeś już wystarczająco wiele wskazówek, abyś sobie poradził samodzielnie.

Jeśli coś nie działa, zadawaj konkretne pytania, co Tobie nie wychodzi, bo z tego, co widzę, to nie stosujesz się do wskazówek poprzedników.
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.