Kontakt Home Grundlagen Scripts zum Kopieren Beispiele
JavaScript

Auflösungsweiche

Ab und an ist es sinnvoll, den Leuten mit guter Auflösung eine andere Seite anzubieten als denen mit winziger...

Anders als hier könntest du dieses Script aber ruhig onLoad der Seite ausführen und, statt wie ich ein neues Fenster zu öffnen, die Seite selbst per self.location.href austauschen!

Hier wird aber - sonst käme ich ja nicht mehr zur Erklärung oder müßte die Erklärung 3 mal tippen - ein neues Fenster auf [Klick] geöffnet.

Mögliche Erweiterung: Beim Öffnen des Fensters oder aber beim Laden der aufgrund der ermittelten Auflösung angeforderten Seite das Browserfenster noch in die richtige Größe und Position bringen!

So geht das:

Es werden drei neue Seiten gebraucht: klein.html, mittel.html und gross.html. Bei mir liegen die in einem Unterverzeichnis aufloesungsweiche/ .

In den Kopf der Seite das Script einfügen:

<script language="JavaScript">
function aufloesung()
{
var Hoehe, Breite;
Hoehe=screen.height;
Breite=screen.width;
if (Breite>600 & Breite<832)
{
window.open ("aufloesungsweiche/klein.html");
}
if (Breite>=832 & Breite<1024)
{
window.open ("aufloesungsweiche/mittel.html");
}
if (Breite>=1024)
{
window.open ("aufloesungsweiche/gross.html");
}
}
</script>

Und folgenden Link zum Öffnen des neuen Fensters in der Seite platzieren:

<a href="javascript:aufloesung();">[Klick]</a>

 

Oder aber in den Body-Tag, damit das Ding beim Laden der Seite ausgeführt wird:

<body onLoad="aufloesung()">

 

Wenn du die Seite nicht ein neues Fenster aufmachen, sondern innerhalb desselben Fensters zur neuen Seite schicken willst, mußt du in dem Script dreimal statt

window.open
(

 

schreiben:

self.location.href=

 

(Beachte das mit dem Gleichzeichen und der Klammer!)

Erklärung des Scripts:

<script language="JavaScript">
function aufloesung()
{
var Breite;
Breite=screen.width;

Setze die Variable Breite. 'Breite' hat den - wer hätts jetzt gedacht? - Wert der Breite des Bildschirmes in Pixeln. 'screen.heigt' und 'screen.width' sind festgelegte Objekte, womit diese Werte ermittelt und an das Script zurückgegeben werden können. Es reicht hier aber, die Breite zu verwenden, wer eine 832 Pixel breite Auflösung fährt, hat meistens auch die dazugehörige Höhe von 600 Pixeln.

if (Breite<832)
{
window.open ("aufloesungsweiche/klein.html");
}

 

Wenn die Breite kleiner als 832 ist, öffne die Seite klein.html

if (Breite>=832 & Breite<1024)
{
window.open ("aufloesungsweiche/mittel.html");
}

 

Liegt die Breite zwischen 832 und 1024 Pixeln, mach die Seite mittel.html auf.

if (Breite>=1024)
{
window.open ("aufloesungsweiche/gross.html");
}

Also, wenn die Breite größer als 1024 Pixel ist, geh zu der Seite gross.html in neuem Fenster.
Ich seh grad, hier hätte es ein else auch getan ;-) (Nicht durcheinander kommen!)

}
</script>

Scriptende

 


ein projekt von hfl --> goto:www.liesong.de