Browserweiche Bildschirm, Code & Frage

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Pofi
Mitglied
Beiträge: 252
Registriert: 06.10.2007 10:17
Wohnort: Wuppertal
Kontaktdaten:

Browserweiche Bildschirm, Code & Frage

Beitrag 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...
Fügen Sie hier Ihre Signatur ein.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Browserweiche Bildschirm, Code & Frage

Beitrag 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.
KB:knigge
Benutzeravatar
Pofi
Mitglied
Beiträge: 252
Registriert: 06.10.2007 10:17
Wohnort: Wuppertal
Kontaktdaten:

Re: Browserweiche Bildschirm, Code & Frage

Beitrag 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:
Fügen Sie hier Ihre Signatur ein.
u-musik
Mitglied
Beiträge: 18
Registriert: 03.01.2012 15:57

Re: Browserweiche Bildschirm, Code & Frage

Beitrag 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:
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Browserweiche Bildschirm, Code & Frage

Beitrag 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.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
u-musik
Mitglied
Beiträge: 18
Registriert: 03.01.2012 15:57

Re: Browserweiche Bildschirm, Code & Frage

Beitrag 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
Antworten

Zurück zu „Coding & Technik“