istemci tarayıcı monitör boyutu / çözünürlüğü tespit php edebilir?

9 Cevap php

Php vb IP, hostname, istemci ajan algılayabilir istemci tarayıcı monitör boyutu / çözünürlüğünü tespit php miyim?

9 Cevap

Hayır, edemem. PHP sunucu üzerinde çalışır, böylece sunucu üzerinde PHP için bilgi geçmek için belirli bir istemci tarafı adımlar atmaya sürece istemci ayarlarını tespit edemez.

Bazılarımız bizim tarayıcılar gibi olmayan maksimize olduğunu unutmayın lütfen. Belki de ekran çözünürlüğü tarayıcı boyutu algılamaya çalışırken daha iyi olurdu. Ben JS ya da çok benzer olacağını yapmak için varsayalım, ama aslında bu durum bilmiyorum.

Ayrıca, kör bir adamın ekran okuyucu çözünürlük nedir?

En izleme kodu gibi JavaScript bir PHP komut dosyası bu kadar geçmek gerekir (saydam bir görüntü isteği ile) yapar.

Sen gibi, JavaScript ile birlikte PHP kullanmak gerekecek this example.

Bazı insanlar cep oluşumunda için tarayıcı boyutu gerektirir. Bu, bazı durumlarda temel bilgidir.

Çoğu cep JS desteği yok gibi WURFL ve DUVAR kullanarak bu sorunun üstesinden gelebilirsiniz.

Ben de bu arıyor, ancak bu cevapların hiçbiri gerçekten soruya cevap bulundu! Gerçekten de, bu sunucu tarafında çalışan bu yana PHP ekran çözünürlüğünü bilmek için hiçbir yolu yoktur. Bu bilgi HTTP çevre değişkenleri birlikte geçmedi yana, biz başka bir yol gerekir. JavaScript bir alternatiftir.

Aşağıdaki örnek HTTP isteği geçirilen bir resolution değişken varlık için denetleyen bir PHP sayfası. O resolution değişkeni bulmak değilse, o zaman geçer sayfada JavaScript kısa biraz oluşturur değişken ve geri kendisine bir yönlendirme boyunca yükseklik ve genişlik. Sayfa yönlendirme sonra tekrar yüklendiğinde Tabii ki, tüm değişkenleri ayarlanır ve PHP çözünürlüğü bilecek.

<?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.";
        }     
    }
?>

Sonunda bu oldukça tatmin edici bir çözüm bulundu. Bu çalışır, ancak URL Cruft ekleyerek ve bir yönlendirme gerektiren, çirkin. Yine de, daha iyi bir cevap göndermek için birini esin kaynağı olabilir. Bilginize, kredi nedeniyle kredi, bu cevap this post esinlenilmiştir.

Ben bu yüzden DOWNVote yedek en iyi cevap değil biliyorum.

<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>

Monitör boyutu JS kullanılarak elde edilemez, bir anket yapmak zorunda :)

JS tarayıcınızın pencere boyutunu kontrol edebilirsiniz, unutmayın, ama bu boyutu tarayıcıda Real workspase alan bu araç çubukları boyutuna bağlıdır kullanıcı araç çubukları, kaydırma çubukları vs .. içerir.