1. Möchtest Du unser Team im Android OS-Bereich unterstützen? Details dazu findest du hier!
  2. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

JavaScript Bildschirmauflösung rausfinden

Dieses Thema im Forum "Android Allgemein" wurde erstellt von LeMacabre, 15.04.2011.

  1. LeMacabre, 15.04.2011 #1
    LeMacabre

    LeMacabre Threadstarter Junior Mitglied

    Beiträge:
    37
    Erhaltene Danke:
    0
    Registriert seit:
    26.02.2010
    Hai zusammen :)

    Ich hätte ein Problem mit einer JavaScript-FUnktion.
    Ich möchte auf einer Internetseite erkennen, ob der Client ein Mobiltelefon ist. Zwar kann ich dafür den UserAgent auslesen, möchte dies jedoch mit der momentanten Auflösung kombinieren.
    Dafür nutze ich die "screen.width" und "screen.height" variablen. Auf dem StandPC und iPhone (nein ich habe zum glück selbst keinen, habe eins jedoch für den Test zur verfügung gestellt bekommen ;D ) funktionieren die entsprechende Anweisungen 100% korrekt. Leider geben die Androidhandys den größten Müll aus.

    Zum einen wird, wenn ich die Funktion direkt nach dem body-tag ausführe, teilweise die Größe von der letzten Seite ausgegeben.
    Zum anderen gibt er mir nicht die Bildschirmauflösung sondern Die Auflösung was alles angezeigt wird (+ ZOOM-Faktor). Das heist: wenn ich z.B. eine Seite im Hochformat offen habe und die Seite relativ breit ist (ca. 1000px), wird soweit rausgezoomt, dass die gesamte breite gezeigt wird. Somit habe ich, eine auflösung von 1000x(>1000).


    Nun meine Frage: kennt jemand ne möglichkeit die BIldschirmauflösung über JavaScript verlässlich auszulesen?

    Danke im voraus ;)


    NACHTRAG:
    Ich habe rausgefunden, dass es ein Bug seit 2.2 ist ....


    SO ich habe schon mal ein Teilerfolg :)
    Falls sich jemand diesbezüglich interessiert:

    Es muss ein MetaTag ViewPort angegeben werden.
    HTML:
    <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no,maximum-scale=1.0,target-densityDpi=device-dpi">
    width nimmt die entsprechende größe des Geräts + im Browser eingestellten Zooms.
    initial-scale stellt die die relative größe in bezug zur original dar (hier 1:1)
    user-scalable gibt an, ob der User Zoomen darf
    maximum-scale sagt wie groß die maximale Zoomintenssität sein darf
    target-densityDpi = Einnstellung der dpi. Über device-dpi wird der Standard-Zoom des Geräts deaktiviert.

    Zudem muss, damit die richtige Größe genommen wird (sonst wird die Größe der letzten Seite genommen) das JavaScript-Attribut innerhalb eines onLoad-Events geprüft. Ich habe für den Zweck jQuery genommen und wie folgt getestet:
    Code:
    $(window).load(function(){
    alert(screen.size);
    });
    Es ist auch möglich screen.size über einen Click-Event richtig auszugeben.

    BUG:
    Wenn man ZURÜCK drückt und noch mal auf die gleiche Seite geht wird trotzdem Schund im screen.width und screen.height ausgegeben.
     
    Zuletzt bearbeitet: 15.04.2011

Diese Seite empfehlen