Php może wykryć IP, nazwę hosta, klienta itp. Czy php może wykryć rozmiar/rozdzielczość monitora przeglądarki klienta?Czy php może wykryć rozmiar/rozdzielczość monitora przeglądarki klienta?
Odpowiedz
Musiałbyś przekazać to do skryptu PHP z JavaScript, tak jak robi to większość kodu śledzenia (z przejrzystym żądaniem obrazu).
Musisz używać PHP wraz z JavaScript, jak w this example:
$url = $_SERVER['PHP_SELF'];
if(isset($HTTP_COOKIE_VARS["res"]))
$res = $HTTP_COOKIE_VARS["res"];
else {
?>
<script language="javascript">
<!--
go();
function go()
{
var today = new Date();
var the_date = new Date("August 31, 2020");
var the_cookie_date = the_date.toGMTString();
var the_cookie = "res="+ screen.width +"x"+ screen.height;
var the_cookie = the_cookie + ";expires=" + the_cookie_date;
document.cookie=the_cookie
location = '<?echo "$url";?>';
}
//-->
</script>
<?php
}
//Let's "split" the resolution results into two variables
list($width, $height) = split('[x]', $res);
//Take the width and height minus 300
$tb_width = $width-300;
$tb_height = $height-300;
//Make the table
print("<table align=center border=1 width=" .$tb_width . " height=" . $tb_height . " >
<tr><td align=center>Your screen resolution is " . $width . " by " . $height . ".<br>
The width/height of this table is " . $tb_width . " by " . $tb_height . ".</td></tr>
</table>");
Nie, nie mogę. PHP działa na serwerze, więc nie może wykryć ustawień klienta, chyba że podejmiesz konkretne kroki po stronie klienta, aby przekazać informacje do skryptów PHP na serwerze.
Musisz używać PHP wraz z JavaScript –
rozmiar monitora nie można uzyskać przy użyciu JS, trzeba zrobić ankietę :)
Ugh? Tak, może. – Lloyd
Lloyd: można wykryć rozdzielczość ekranu, ale nie rozmiar monitora. Rozdzielczość 1600x1200 może oznaczać stary 21-calowy monitor CRT, umiarkowanie duży ekran LCD i naprawdę piękny i gęsty mniejszy ekran o przekątnej 16 " –
+1, ponieważ rozmiar * nie może być odczytany, ponieważ nie można wykryć rozmiaru monitora Csaba – cjk
Proszę pamiętać, że niektóre z nas jak nasze przeglądarek niż maksymalne. Być może lepiej będzie, jeśli spróbujesz wykryć rozmiar przeglądarki, a nie rozdzielczość ekranu. Zakładam, że JS to albo będzie bardzo podobny, ale tak naprawdę nie wiem, że tak jest.
Ponadto, jaka jest rozdzielczość czytnika ekranu dla niewidomych?
+1. Mam rozdzielczość ekranu 2560x1600, prawie nigdy nie zmaksymalizowałem. Powinieneś czytać rozmiar portu widoku (obszar okna nie zliczający pasków narzędzi, paski przewijania, pasek stanu i dekoracje okien). – SpliFF
Należy zauważyć, że JS może sprawdzić rozmiar okna przeglądarki, ale ten rozmiar obejmuje paski narzędzi użytkownika, paski przewijania itp ... Rzeczywisty obszar roboczy w przeglądarce zależy od rozmiaru tych pasków narzędzi.
Niektóre osoby wymagają rozmiaru przeglądarki do mobilnego wydzielania. Jest to niezbędna informacja w niektórych przypadkach.
Korzystanie z WURFL i WALL może obejść ten problem, ponieważ większość telefonów komórkowych nie obsługuje JS.
Szukałem tego również, ale znalazłem żadnej z tych odpowiedzi naprawdę odpowiedział na pytanie! Rzeczywiście, nie ma sposobu, aby PHP rozpoznało rozdzielczość ekranu, ponieważ działa po stronie serwera. Ponieważ te informacje nie są przekazywane w zmiennych środowiskowych HTTP, potrzebujemy innej trasy. JavaScript to jedna alternatywa.
Przykład poniżej to strona PHP, która sprawdza, czy zmienna resolution
jest przekazywana w żądaniu HTTP. Jeśli nie znajdzie tej zmiennej resolution
, tworzy krótki skrypt JavaScript na stronie, która przekazuje tę zmienną, a wysokość i szerokość wzdłuż w przekierowaniu z powrotem do siebie. Oczywiście po ponownym załadowaniu strony po przekierowaniu wszystkie zmienne zostaną ustawione, a PHP rozpozna rozdzielczość.
<?php
if(!isset($_GET['resolution'])) {
echo "<script language=\"JavaScript\">
<!--
document.location=\"$PHP_SELF?resolution=1&width=\"+screen.width+\"&height=\"+screen.height;
//-->
</script>";
} else {
// Code to be displayed if resolution is detected
if(isset($_GET['width']) && isset($_GET['height'])) {
echo "Width: " . $_GET['width'] . " and Height: " . $_GET['height'] . "<br />";
} else {
echo "Resolution not detected.";
}
}
?>
W końcu uznałem to za niezadowalające rozwiązanie. Działa, ale jest brzydka, dodaje cruft do adresu URL i wymaga przekierowania. Mimo to może zainspirować kogoś do napisania lepszej odpowiedzi. FYI, kredyt, na który należy się kredyt, ta odpowiedź została zainspirowana przez this post.
Znasz rozdzielczość w pewnym momencie .. ale do czasu ładowania po przekierowaniu, kto wie, jaka jest rozdzielczość. – xaxxon
Wiem, że to nie jest najlepsza odpowiedź, więc oszczędzaj.
<script>
/*
JAVASCRIPT IS ON TELL THE DEVELOPER#
*/
// GET BROWSER WIDTH AND HEIGHT
var bh=screen.height;
var bw=screen.width;
window.location="?doSubmit=do&js=yes&bh="+bh+"&bw="+bw+"";
</script>
<noscript>
<!--
JAVASCRIPT IS OFF TELL THE DEVELOPER#
-->
<meta http-equiv='refresh' content='0;url=?doSubmit=do&js=off&bh=off&bw=off'>
</noscript>
<?
if($_GET["doSubmit"]=="do"){
// VARS
$bh=$_GET["bh"];
$bw=$_GET["bw"];
$js=$_GET["js"];
// PRINT HTML ?>
<table>
<tr><td><strong>Browser Width:</strong></td><td><?=$bw;?>px</tr>
<tr><td><strong>Browser Height:</strong></td><td><?=$bh;?>px</tr>
<tr><td><strong>JavaScript Detection (y/n):</strong></td><td><?=$js;?></tr>
</table>
- 1. Jak wykryć miganie przeglądarki?
- 2. Jak wykryć rozłączenie klienta w module nasłuchującym gniazda PHP?
- 3. Czy JavaScript może wykryć, czy przeglądarka użytkownika obsługuje gzip?
- 4. nie może wykryć, czy istnieje zmienna Session
- 5. PHP: strumień zdalnego pliku PDF do przeglądarki klienta
- 6. jak wykryć strefę czasową klienta?
- 7. Czy mogę wykryć ruch okna przeglądarki z jednego ekranu na drugi w JavaScript?
- 8. Czy wszystkie przeglądarki obsługują PHP __SERVER ['HTTP_X_REQUESTED_WITH']?
- 9. Jak wykryć, gdy wątek klienta zostanie zamknięty?
- 10. Jak wykryć typ przeglądarki w Django?
- 11. javascript wykryć Adobe Reader wtyczki dla przeglądarki
- 12. Czy oprogramowanie localStorage może być modyfikowane przez klienta?
- 13. Czy istnieje sposób określenia fizycznej wielkości monitora?
- 14. Uruchomić stronę klienta PHP
- 15. Błąd klienta PHP SOAP
- 16. Eventource golang: jak wykryć rozłączenie klienta?
- 17. PHP: pobierz nazwę przeglądarki
- 18. Prawidłowy mechanizm wysyłania błędów PHP do klienta
- 19. Wysyłanie przeglądarki "Dalvik" jako klienta użytkownika
- 20. Czy Pex może automatycznie wykryć warunki przepełnienia/niedomiaru?
- 21. Czy urządzenie Flexbox może wykryć, kiedy element elastyczny jest opakowany?
- 22. Jak wykryć, czy ustawiono $ _POST?
- 23. ASP.Net Pobierz plik do przeglądarki klienta
- 24. Jak wykryć obecną wersję IIS z PHP?
- 25. Jak uzyskać klienta użytkownika w PHP
- 26. Czy użytkownik może zmodyfikować sesję PHP?
- 27. Czy PHP może asynchronicznie korzystać z gniazd?
- 28. Czy Selenium Webdriver może otwierać po cichu okna przeglądarki?
- 29. Czy witryna mobilna jquery może być również witryną przeglądarki komputerowej?
- 30. Czy skrypt PHP może uruchomić inny skrypt PHP i zakończyć?
i nadal nie można powiedzieć, jeśli użytkownik zmieni rozmiar okna lub innych wydarzeń, takich jak że .. – xaxxon