Monitorgröße des Users ermitteln

harrry

Erfahrenes Mitglied
Hello again,

so versuche ich auf meiner Seite die Monitorgröße der Besucher zu ermitteln:
PHP:
screenWide = System.capabilities.screenResolutionX;
    screenTall = System.capabilities.screenResolutionY;
    if (screenWide>=1024 && screenTall>=768) {
    	this.enter_switch.gotoAndStop("big");
    } else if (screenWide == 800 && screenTall == 600) {
    	this.enter_switch.gotoAndStop("small");
 }
Der "enter-switch" schaltet damit zum jeweiligen Enter-Button, der ein ensprechend dimensioniertes Browserfenster mit der Hauptseite öffnet. Die Idee dahinter ist, dem User nicht mehrere Knöpfe hinzuknallen - nach dem Motto "such dir deine Größe selber aus" - sondern eben nur den einen, für seine Situation passenden.

Jedoch: das klappt leider nicht auf allen Monitoren. Es gibt ja jetzt auch diese überbreiten Laptops und kleinere Schirme und Macs usw. Muss ich da jetzt das Skipt erweitern und für jede erdenkliche oder mir bekannte Monitorgröße einen eigenen Button basteln? Oder ginge das eleganter? Stimmen die Größenangaben überhaupt?

Außerdem: das neue Fenster öffnet sich per Java-Script. Nicht unbedenklich, weil doch viele Browser bei Pop-Ups böse werden und Warnmeldungen ausgeben. Daher meine 2. Frage: geht das auch ohne JS? Aus Flash heraus? Aber wie?
 
Das stimmt so ungefähr, aber um eine detailliertere Abfrage wegen der vielen unterschiedlichen Monitortypen wirst du nicht herumkommen.
Browserfenster lassen sich ernsthaft nur mit JS öffnen, auch aus Flash heraus könntest du wiederum nur JS an den Browser senden - Pech.

B
 
Danke! Bedeutet "so ungefähr": nicht ganz? Fehler in Code oder Ansatz?
Und: weiss jemand zufällig, wo man eine Liste herkriegt mit den ganzen Monitorgrößen?

Thx jedenfalls für die Antwort, H.
 
So ungefähr meint eben, das man damit auch fehlerhafte Ergebnisse bekommt, wenn atypische Grössen dabei sind. Für meine Systeme habe ich zB meine hauseigene Statistik ausgewertet, die auf über 40 Domains läuft. Da sind dann auch Exotenwerte dabei, die man kaum glauben kann. Oder wie würdest du 2020x 560 nennen ?

Einfach ausprobieren, und immer dem User einen Link zur Standarddarstellung bieten ...

B
 
Ich würde das alles mit "Stage.size" machen! Eventuell noch nen listener und dann den inhalt der "Stage.size" anpassen.
Ansonsten brauchst übrigens auch nur eine Größe!
PHP:
screenWide = System.capabilities.screenResolutionX;
switchEnter =function(){
    if (screenWide>=1024) {
        this.enter_switch.gotoAndStop("big");
    } 
if (screenWide == 800) {
        this.enter_switch.gotoAndStop("small");
      } 
}
switchEnter();
 
Zurück