abfrage monitorauflösung
denis
- javascript
hallo,
ich möchte beim aufruf meiner webseite eine auflösungs-abfrage machen und dann je nach auflösung eine bestimmte seite aufrufen. ich frage vier auflösungen ab und wenn keine der vier auflösungen eingstellt ist, soll immer eine fünfte variante zum zuge kommen. aber meine abfrage stimmt irgendwie noch nicht, obwohl sie meiner meinung nach logisch ist.
<script language="JavaScript">
<!--
if(screen.height == 1024 && screen.width == 768)
{
window.location.href = "index_1024.html";
}
if(screen.height == 1600 && screen.width == 1200)
{
window.location.href = "index_1600.html";
}
if(screen.height == 1152 && screen.width == 864)
{
window.location.href = "index_1152.html";
}
else
{
window.location.href = "index_else.html";
}
//-->
</script>
aber jedesmal wird die letzte else-schleife ausgeführt, also immer index_else.html aufgerufen. auch wenn ich anstatt mit if mit else if oder elseif arbeite- dann wird gar keine seite aufgerufen.
ich bin für jeden tipp dankbar.
gruß, denis
Hi,
obwohl sie meiner meinung nach logisch ist.
Naja. Also los geht's:
<script language="JavaScript">
falsch, besser: <script type="text/javascript">
if(screen.height == 1024 && screen.width == 768)
if(screen.height == 1600 && screen.width == 1200)
...
Wird so nie klappen: der Bildschirm ist immer breiter als hoch!
if(screen.height == 1152 && screen.width == 864)
{
window.location.href = "index_1152.html";
}
else
{
window.location.href = "index_else.html";
}
Kann erst recht nicht klappen, es sei den die Auflösung wäre wirklich 864x1152, ansonsten greift immer else, egal ob vorher schon z.B. 768x1024 gegriffen hat.
Und damit ich dem Forums-Geist folge: laß es lieber gleich, klappt eh nicht! Mach lieber eine vernünftige else-Seite und beim rest:
<img src="http://www.rp76.com/test/entf.jpg" border="0" alt="">
Grüße,
Ronny
oh shit, das war mal wieder ein klassischer flüchtigkeitsfehler, den mann auch nach stunden nicht findet, weil er so bescheuert ist.
höhe und breite vertauscht.
habe es geändert und es klappt sofort einwandfrei. also hat der forumsgeist leider unrecht.
überhaupt finde ich die arroganz des forumsgeistes hier oft ziemlich fehl am platze. dies ist ein forum, um anderen zu helfen und nicht um doof fragende zu beschimpfen.
musste es generell mal loswerden.
aber vielen dank nochmal, daß du mich auf den bekloppten fehler gebracht hast.
gruß, denis!
Hi,
Wird so nie klappen: der Bildschirm ist immer breiter als hoch!
Nein, es gibt durchaus Hochkant-Monitore
cu,
Andreas
Hi Denis,
ich möchte beim aufruf meiner webseite eine auflösungs-abfrage machen
wozu soll das gut sein? Entferne bitte zunächst alle Werte, die Breiten und Höhen definieren sollen und betrachte, was die Seite macht, sobald du das Fenster vergrößerst/verkleinerst. Es wird immer alles passen.
if(screen.height == 1024 && screen.width == 768)
if(screen.height == 1600 && screen.width == 1200)
if(screen.height == 1152 && screen.width == 864)
else
Das heißt also, dass ich für die Auflösung, mit der ich arbeite (1280x1024) die gleiche Seite an den Kopf geworfen bekomme, wie jemand auf einem 15"er mit 800x600. Hältst du das für sinnvoll?
Wenn ich mit 1600x1200 unterwegs bin und mein Fenster 951x743 Pixel groß ist, ist es dann beabsichtigt, dass ich nur einen Bruchteil der Seite sehe? Hältst du das für sinnvoll?
Sinnvoller wäre es, die Ausmaße des Fensters zu berücksichtigen.
Ideal wäre es, HTML in seiner naturgegebenen (gottgewollten *g*) Fähigkeit, zu skalieren nicht zu beschneiden. Auflösungsabfragen sind ein Kozeptfehler.
Grüße,
Roland
ich weiß, daß es hier nur schlaue programmierer gibt, aber du hast leider unrecht. ich beschneide nichts und man sieht bei absolut jeder auflösung alles. du weißt doch gar nicht, was ich bezwecken wollte. das hat nichts mit fenster vergrößern zu tun. ich arbeite mit layer-menüs, die andere tabelllen beim ausklappen überlagern und die absolute pixelpositionen haben. da meine seite mittig zentriert sitzt, verspringt das menü je nach auflösung, da ja immer die linke obere ecke angenommen wird. also ist die abfrage doch sinnig, weil sich jetzt je nach auflösung die pixelangaben für die layer-position ändern und alles ist bei allen auflösungen genau passend.
also ist das schon alles gut so und kein konzeptfehler, im gegenteil. es klappt auch jetzt. die seite hat ausmasse für eine auflösung von 800 X 600, also wird nie etwas beschnitten. und wer nicht im vollbildmodus arbeitet, der kann auch nicht verlangen, jede seite komplett zu sehen.
Hi Denis,
ich weiß, daß es hier nur schlaue programmierer gibt,
ich gehöre eher nicht dazu.
ich beschneide nichts und man sieht bei absolut jeder auflösung alles.
Beantworte mir bitte die Frage, was die Auflösung mit der Fenstergröße zu tun hat.
und wer nicht im vollbildmodus arbeitet, der kann auch nicht verlangen, jede seite komplett zu sehen.
Ok, damit ist die Diskussion für mich beendet. Viel Erfolg.
Grüße,
Roland
if(screen.height == 1024 && screen.width == 768)
{
window.location.href = "index_1024.html";
}
if(screen.height == 1600 && screen.width == 1200)
{
window.location.href = "index_1600.html";
}
if(screen.height == 1152 && screen.width == 864)
{
window.location.href = "index_1152.html";
}
else
{
window.location.href = "index_else.html";
}
Das ist, auch wen du etwas anderes behauptest, völlig nutzfrei. Da die Auflösung nichts über die Größe des Fensters aussagt und selbst wenn das screen Objekt irgend eine Information für dich enthielte, sind die obigen Abfragen sehr unvollständig, da es einige dutzende andere Auflösungen gibt (meine z.b. 1280 x 1024).
Der Fehler liegt ganz klar in deiner Konzeption. HTML skaliert in jeder Auflösung und wenn es bei dir nicht tut, dan ist dein Browser kaputt.
Struppi.
also wißt ihr was, ich stelle es gleich mal onlind und dann könnt ihr euch selber überzeugen, daß es klappt. auch wenn ihr euch auf den kopf stellt, es läuft.
ich habe nämlich die seite in einen div-tag gepackt, der ne feste position hat. da wird nix skaliert.
ich weiß, ich weiß, ihr findet skalieren ganz toll, ich aber nicht. und der kunde auch nicht. ist wohl heutzutage nicht zuviel verlangt, sein fenster so weit aufzuziehen, daß mann eine seite, die für 800X600 optimiert ist, ganz zu sehen, oder?
und deine auflösung habe ich schon lange mit abgefragt. alle auflösungen die im verhältnis 1:1,3333 laufen.
und die else schleife ist für alle weiteren dutzend auflösungen.
also keine sorge, passt schon alles so!!!!!!!!!!!!!!
also wißt ihr was, ich stelle es gleich mal onlind und dann könnt ihr euch selber überzeugen, daß es klappt. auch wenn ihr euch auf den kopf stellt, es läuft.
ich habe nämlich die seite in einen div-tag gepackt, der ne feste position hat. da wird nix skaliert.
ich weiß, ich weiß, ihr findet skalieren ganz toll, ich aber nicht. und der kunde auch nicht. ist wohl heutzutage nicht zuviel verlangt, sein fenster so weit aufzuziehen, daß mann eine seite, die für 800X600 optimiert ist, ganz zu sehen, oder?
Wie gesagt die Auflösung sagt ja nichts aus über das Fenster. Du gehtst davon aus, das jemand mit einem 19"er mit Vollbild surft? Das macht vermutlich kaum jemand und wenn dann weil er die Schrift extra groß gestellt hat und dann, wette ich, skaliert deine Seite nicht mehr.
Nicht wir finden skalieren toll, sondern alle die mit HMTL arbeiten, du versuchst das was du in einem Grafikprogramm entwickelt hast in HTML umzusetzten, das ist ein schlechtes Konzept, dafür ist z.b. PDF oder Flash viel besser geeignet. HTML hat den Vorteil, das du dich um sowas wie die Größe des Browserfensters nicht wirjklich kümmern musst. Wenn du dir diese Arbeit machen möchtest ist das natürlich dein Problem, ist aber nicht besonders schlau so zu arbeiten (ich hau die Schraube mit dem Hammer rein, weil ich den Schraubenzieher nicht mag. es funktioniert meistens, da hast du recht)
Struppi.