Seite 1 von 1

Browserweiche Bildschirm, Code & Frage

Verfasst: 10.10.2010 13:39
von Pofi
Hab ne Browserweiche gebastelt. Vielleicht kann das ja jemand gebrauchen... :roll:

Code: Alles auswählen

<script language= "JavaScript">
r_small = (screen.width < 640) ? true : false; // Kleiner Bildschirm
r_640 = (screen.width >= 640) ? true : false; // Mindestens 640 Breite
r_800 = (screen.width >= 800) ? true : false; // Mindestens 800 Breite
r_1024 = (screen.width >= 1024) ? true : false; // Mindestens 1024 Breite
r_1280 = (screen.width >= 1280) ? true : false; // Mindestens 1280 Breite
r_1600 = (screen.width >= 1600) ? true : false; // Mindestens 1600 Breite
if (r_small)
{
    document.location.href="r_small.html";
}
if (r_640)
{
    document.location.href="r_640.html";
}
if (r_800)
{
    document.location.href="r_800.html";
}
if (r_1024)
{
    document.location.href="r_1024.html";
}
if (r_1280)
{
    document.location.href="r_1280.html";
}
if (r_1600)
{
    document.location.href="r_1600.html";
}
</script>
Meine Frage hierzu; einige Mobilgeräte "lügen" etwas, wenn es um die tatsächliche Bildschirmgröße geht. Gemeint sind hier die Geräte, bei denen man diese Zoomfunktion hat, wie zum Beispiel bei einem iPhone.
Kann man die nicht irgendwie austricksen? Diese Weiche nutzt man ja eigentlich um dem Anwender das Scrollen und das Zoomen zu ersparen.

Interessant in diesem Zusammenhang wäre noch, ob vielleicht schon mal jemand von einer Weiche gehört hat, die erkennt ob jemand via wlan/mobile oder via LAN/DSL eine Seite aufruft. Ich brauch hierzu keinen Code oder so, vielleicht nur mal einen Ansatz wo ich weiter suchen könnte...

Re: Browserweiche Bildschirm, Code & Frage

Verfasst: 10.10.2010 14:50
von Pyramide
Du könntest den User-Agent auslesen. Beispielsweise mit der Funktion [php:get_browser] - die dort verlinkte browscap.ini scheint sehr umfangreich zu sein und enthält auch zusätzliche Parameter wie isMobileDevice (oder du prüfst halt explizit auf bestimmte Geräte).

Du solltest übrigens deinen Code umgekehrt sortieren und elseif verwenden - denn bei einer 1024er Auflösung trifft die Bedingung "größer oder gleich 640" ja auch zu.

Re: Browserweiche Bildschirm, Code & Frage

Verfasst: 10.10.2010 16:49
von Pofi
Schönen Dank für die schnelle Antwort. Ich werde mich mal mit dieser browscap.ini befassen. Vielleicht bekomm ich da was gescheites mit gebastelt.

Diese Prüfung auf einzelne Geräte ist recht aufwendig, man müsste ausserdem regelmässig das Script anpassen. Dennoch interessant, wenn nur einzelne Geräte Schwierigkeiten haben sollten, eine Seite vernünftig anzuzeigen. Ich denke das wäre ergänzend eine nette Sache...

Bei der Sortierung hatte ich mir soweit keine Gedanken gemacht. Ich hab das mit IE, Safarie, Firefox, Chrome und Opera getestet gehabt. Funktionierte einwandfrei. Dennoch war dein Einwand natürlich richtig. Kann ja immer mal sein, dass ein Browser das anders interpretiert.

So long... Schönes Restwochenende noch.... :roll:

Re: Browserweiche Bildschirm, Code & Frage

Verfasst: 11.01.2012 08:03
von u-musik
Guten Morgen

geht das auch als "CSS Weiche"?

also wenn man vom Iphone auf die das forum schaut ist es ein Mobile Style und vom PC aus ein normaler Style?

und wie wo fügt man das script ein?

danke
mfg :ugeek:

Re: Browserweiche Bildschirm, Code & Frage

Verfasst: 11.01.2012 14:36
von gn#36
Ja, mit CSS 3 geht das. @media handheld, was man bei manchen Geräten verwenden könnte wird von Iphone und Co aber meist ignoriert, mit CSS 3 kannst du aber zusätzlich die Bildschirmauflösung kontrollieren und das somit komplett ohne Javaskript realisieren.

Code: Alles auswählen

@media screen and (max-width:1921px) {
    /* CSS Code fuer Bildschirme bis 1921px */
}
@media screen and (max-width:1421px) {
    /* CSS Code fuer Bildschirme bis 1421px */
}
Die Reihenfolge ist hierbei im Prinzip eine Krücke, denn die jeweils letzte Definition überschreibt alle vorherigen, d.h. du könntest z.B. die Definitionen für alle Bildschirmauflösungen an den Anfang setzen und dann jeweils die notwendigen Dinge überschreiben. Alternativ arbeitest du mit min-width, was statt einer maximalen eine minimale Breite vorgibt, oder du kombinierst beide.

Möglicherweise funktioniert das aber nicht in älteren Browsern.

Re: Browserweiche Bildschirm, Code & Frage

Verfasst: 11.01.2012 16:11
von u-musik
danke 8)

Ich werde das geleich mal ausprobieren nur wo bau ich das ein?
tut mir leid ich bin ein phpBB3 anfänger

lg u-musik