PHP kann IP, Hostname, Client-Agent usw. erkennen. Kann php Client-Monitorgröße/-auflösung erkennen?kann php erkennen Client-Browser Monitor Größe/Auflösung?
Antwort
Das müssten Sie wie bei den meisten Tracking-Codes (mit einer transparenten Image-Anfrage) an ein PHP-Skript von JavaScript weitergeben.
Sie müssen PHP verwenden, zusammen mit JavaScript, wie in 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>");
Nein, es kann nicht. PHP wird auf dem Server ausgeführt, sodass Clienteinstellungen nicht erkannt werden können, es sei denn, Sie nehmen bestimmte clientseitige Schritte vor, um die Informationen an die PHP-Skripts auf dem Server weiterzuleiten.
Sie müssen PHP verwenden, zusammen mit JavaScript –
Monitor-Größe kann nicht mit JS erhalten wird, müssen Sie eine Umfrage machen :)
Ugh? Ja, kann es. – Lloyd
Lloyd: Sie können die Bildschirmauflösung, aber nicht die Monitorgröße erkennen. Eine Auflösung von 1600x1200 kann eine alte 21 "CRT, eine mässig große LCD, und eine wirklich schöne und dichte kleinere Bildschirm um 16" –
+1, weil * Größe * kann nicht nach Csaba – cjk
Bitte beachten Sie tun, dass einige von uns wie unser Browser nicht maximieren. Vielleicht sollten Sie besser versuchen, die Browsergröße als die Bildschirmauflösung zu erkennen. Ich gehe davon aus, dass sich das JS sehr ähnlich machen würde, aber das weiß ich eigentlich nicht.
Was ist auch die Auflösung eines Bildschirmlesers eines blinden Mannes?
+1. Ich habe 2560x1600 Bildschirmauflösung, ich lief fast nie maximiert. Sie sollten die Größe des Ansichtsports lesen (Fensterbereich ohne Symbolleisten, Bildlaufleisten, Statusleiste und Fensterdekorationen). – SpliFF
Beachten Sie, dass JS die Fenstergröße des Browsers überprüfen kann, aber diese Größe enthält Symbolleisten, Bildlaufleisten usw. Echte Arbeitsbereiche im Browser hängen von der Größe dieser Symbolleisten ab.
Manche Leute benötigen Browsergröße für die mobile Entwicklung. Dies ist in einigen Fällen eine wesentliche Information.
Mit WURFL und WALL können Sie umgehen, da die meisten Handys JS nicht unterstützen.
Ich war auch auf der Suche nach, fand aber keine dieser Antworten beantwortet wirklich die Frage! In der Tat gibt es für PHP keine Möglichkeit, die Bildschirmauflösung zu kennen, da sie auf der Serverseite läuft. Da diese Informationen nicht in HTTP-Umgebungsvariablen weitergegeben werden, benötigen wir eine andere Route. Javascript ist eine Alternative.
Das folgende Beispiel ist eine PHP-Seite, die überprüft, ob eine resolution
Variable in der HTTP-Anforderung übergeben wird. Wenn es die resolution
Variable nicht findet, dann erstellt es ein kurzes Stück JavaScript auf der Seite, die diese Variable und die Höhe und Breite entlang einer Umleitung an sich selbst übergibt. Natürlich, wenn die Seite nach der Weiterleitung wieder geladen wird, werden alle Variablen gesetzt und PHP kennt die Auflösung.
<?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.";
}
}
?>
Am Ende fand ich das eine ziemlich unbefriedigende Lösung. Es funktioniert, aber es ist hässlich, fügt cruft der URL hinzu und erfordert eine Weiterleitung. Dennoch könnte es jemanden inspirieren, eine bessere Antwort zu veröffentlichen. FYI, Kredit, wo Kredit fällig ist, wurde diese Antwort von this post inspiriert.
Sie kennen die Auflösung zu einem Zeitpunkt ... aber wenn Sie nach der Weiterleitung laden, weiß wer, was die Auflösung ist. – xaxxon
Ich weiß, das ist nicht die beste Antwort, so schone den Downvote.
<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. Wie kann man einen Monitor eindeutig identifizieren?
- 2. Debugging-Monitor
- 3. Kann ich IE6 mit PHP erkennen?
- 4. Kann man Hund/Katze in PHP erkennen?
- 5. iPad in PHP erkennen?
- 6. Rundenzahl in PHP erkennen?
- 7. PHP: Erkennen Seite Aktualisieren
- 8. Erkennen überlappende Perioden php
- 9. PHP http_get_request_headers() nicht erkennen?
- 10. Monitor mit Operator überladen C++
- 11. Monitor Speicherverbrauch von Kind-Prozess
- 12. PHP Elternbild Benutzer-URL erkennen
- 13. Programmgesteuert PEAR in PHP erkennen
- 14. PHP - automatisch erkennen (Roh-) urlencode
- 15. PHP Bot-ähnliches Verhalten erkennen
- 16. Ich kann Android Device Monitor nicht öffnen
- 17. kann nicht geladen werden Android Device Monitor
- 18. eingehende PHP Post erkennen, Datei
- 19. Base64-Codierung in PHP erkennen?
- 20. Php Mobile/Tablet/Desktop erkennen?
- 21. Erkennen json_decode() Fehler in PHP
- 22. Clipboard Monitor
- 23. Monitor-Anwendungen
- 24. Ermitteln, ob der Clientbrowser Java installiert hat und Applets starten kann
- 25. Wie kann ich die Videodateidauer in Minuten mit PHP erkennen?
- 26. Kann php 4-Byte-codierte utf8-Zeichen erkennen?
- 27. Wie kann ich den Browser mit PHP oder JavaScript erkennen?
- 28. Wie kann man einen Crawler/Spider mit PHP erkennen?
- 29. Kann ich MySQL-Warnungen mit PHP erkennen und behandeln?
- 30. Wie kann ich die Tageslichtersparnis automatisch in PHP erkennen?
und man kann noch nicht sagen, ob der Benutzer das Fenster oder andere Ereignisse wie das ändert die Größe .. – xaxxon