Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Sprawdzanie rozdzielczości
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Pawel
Chodzi mo o to żeby moja strona dostosowywała się do rozdzielczości monitora na komputerze na którym jest wyświetlana. Szczerze mówiąć to nawet nie wiem od czego mam zacząć? Czy da się to zrobić w php? Jeśli ktoś wie coś na ten temat prosze dajcie znać.

Dzięki
BzikOS
php => XTML, CSS i ECMAScript

php Ci w tym nie pomoże, raczej JavaScript.
marlowe
Samej detekcji rozdzielczości możesz dokonać w JavaScirpt. Taki skrypt Ci wyświetli jakiej rozdzielczości używa odwiedzający stronę:
[xml:1:35e49e163e]<script language="JavaScript1.2">
<!--
var correctwidth=1952
var correctheight=1283
if (screen.width!=correctwidth||screen.height!=correctheight)
document.write("<font color=#FF0000>Stronę najlepiej oglądać w rozdzielczości "+correctwidth+"*"+correctheight+". Rozdzielczość twojego ekranu to "+screen.width+"*"+screen.height+". Jeśli to możliwe, zmień rozdzielczość!</font>")
//-->
</script>[/xml:1:35e49e163e]
Natomiast raczej bardziej pożyteczny może być w tym przypadk ten skrypt- dostosowuje on używany arkusz stylów od przeglądarki:
[xml:1:35e49e163e] <script language="JavaScript">
<!--
if(-1 != navigator.userAgent.indexOf("MSIE"))
{
// Internet Explorer
document.write('<link rel="stylesheet" type="text/css" href="ie.css">');
}
else if (-1 != navigator.userAgent.indexOf("Mozilla"))
{
// Netscape
document.write('<link rel="stylesheet" type="text/css" href="nc.css">');
}
else
{
// other
document.write('<link rel="stylesheet" type="text/css" href="inny.css">');
}
//-->
</script>[/xml:1:35e49e163e]
Summa summarum- osobiście przerobiłbym ten drugi skrypt tak żeby w zależności od przeglądarki przekierowywał użytkownika na różne wesje strony. php można tu użyć do dynamicznego określania wartości wymiarów ramek i czionki. Pozdrawiam
Dominik
Cytat
Natomiast raczej bardziej pożyteczny może być w tym przypadk ten skrypt- dostosowuje on używany arkusz stylów od przeglądarki: (...)

1. To nie jest side server w JS powinno sie wykrywac obiektowka.
2. Skrypt podany wyzej (niedzy innymi z powodu punktu 1) zle wykrywa przegladarki
3. I wreszcie warto by jednak stosowac XHTML-a (szczegolnie ze wybrales kod XML) i nie pisac znacznika language tylko type.
Pawel
wielkie dzięki za pomoc
pozdrawiam
cipojsza
podczepie sie biggrin.gif

chcial bym zapisac rozdzielczosc uzyskana z javy:
Kod
screen.width=...

screen.height=...
do pliku przy uzyciu PHPa, moge liczyc na pomoc? bo z Javy to jestem zielony :oops:
Chodzi mi o samo przypisanie zmiennym tych wartosci, zapis do pliku to dam rade :oops:
marlowe
Witam,
najpierw bardzo ważna uwaga Java to nie to samo co JavaScript- bardzo częsty błąd ale też bardzo mylący.
Co do przekazywania zmiennych JavaScript do php to jedyną chyba metodą jest przekazanie ich metodą GET.
rozdzielczosc.htm:
[xml:1:266ae238c1]<script language="JavaScript1.2">
<!--
function detekcja( site )
{
var szerokosc=screen.width
var wysokosc=screen.height
document.location = site + "?szerokosc=" + szerokosc + "&wysokosc=" + wysokosc;
}
//-->
</script>
<a href="java script:detekcja('rozdzielczosc.php')">Kliknij by przekazac do rozdzielczosc.php zmienne wysokosc i szerokosc</a>[/xml:1:266ae238c1]
rozdzielczosc.php:
[php:1:266ae238c1]<?php
echo "Wysokosc to ".$_GET[wysokosc]."<br>";
echo "Szerokosc to ".$_GET[szerokosc]."<br>";
?>[/php:1:266ae238c1]
Sprawdzałem, działa.
Możesz ew. zrobić to bez linka:
Kod
<body onload="detekcja('rozdzielczosc.php')" >

/// lub po prostu

<script language="JavaScript">

<!--

detekcja('rozdzielczosc.php'.php');

//-->

</script>

Możesz też użyć jakies ukrytego iframe w ktorym bedziesz komunikowal sie z dowolnym server-side przez adres lokacji
Pozdrawiam
Bartek
P.S. Przy pisaniu posta posłużyłem się wypowiedziami e-Gandalf, DeyV, rzseattle i Setch znalezionymi w archiwum. Prawa autorskie należą się ww. ;-)
cipojsza
no i to sie nazywa wyczerpujaca odpowiedz, wielkie dzieki, doceniam wysilek i ide przetestowac to biggrin.gif
cipojsza
czy:
Kod
<script language="JavaScript">

<!--

detekcja('rozdzielczosc.php'.php');

//-->

</script>

dziala podobnie jak include w PHPie?
bo ja chcialbym zeby caly plik rozdzieczosc sie wykonal, mam tam jeszcze kilka dzialan.

AHA, zapomnialem wspomniec ze w ogole nie bylo by problemu gdyby dalo sie zczytac rozdzielczosc jakos w PHPie ale chyba ztego co do tej pory czytalem to racze sie nie da :x
webtg
Mimo wszystko nie wszystko jest jasne.
Jak uprościć ładowanie różynych wersji strony.

Jeżeli mała rodzielczość to index1.php

Jak większa do index2.php

Czy jest jakaś sprytna funkcja która nie zmuszałaby użytkownika do bezsensownego kliknięac tupyu "klikni tu żeby przejść dalej"
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.