Tablets in der Browserweiche ausschließen

camasa1810 schrieb am 31.07.2013 um 22:28 Uhr

Hallo Community

Wie kann ich Tablets in diesem Code von BeRo so schreiben das Tablets nicht auf die mobile Seite geleitet werden, da meine Seite klein genug ist für Tablets ohne noch eine dritte Webseite anlegen zu müssen.

Vielen Dank i´m Voraus

 

$useragent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match("/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine
|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|
panasonic|philips|phone|playbook|sagem|sharp|sie-|silk|smartphone|sony|symbian|t-mobile|telus
|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|xoom|zte)/i",$useragent))

{
header('Location: ../smartphones/mobil.htm');
} else {
header( 'Location: desktop.htm' );
}

?>

Kommentare

BeRo schrieb am 31.07.2013 um 23:36 Uhr

Das geht leider nicht.

Die Funktion der Weiche, so, wie ich sie online gestellt habe, basiert auf der Abfrage des sogenannten "User Agent" und der ist i. d. R. bei den Tablets/Smartphones identisch, wenn der gleiche Browser benutzt wird. 

Du könntest natürlich zusätzlich die Bildschirm Auflösung abfragen und die Umleitung vom Ergebnis abhängig machen. Damit wäre es möglich, den höher auflösenden Tablets entweder die Desktop Site- oder eine spezielle Tablet Site anzubieten.

Das Problem, das die IOS Geräte z. B. mit Flash haben, hättest Du damit natürlich auch wiederbelebt.

Bei Licht besehen, scheint mir Dein Vorhaben also nicht unbedingt empfehlenswert zu sein...

Zuletzt geändert von BeRo am 31.07.2013, 23:36, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

camasa1810 schrieb am 01.08.2013 um 10:38 Uhr

Hallo BeRo

vielen Dank für deine schnelle Antwort.

Das mit dem abfragen der Bildschirmauflösung finde ich nicht so eine schlechte Idee.
Die Page ist ja mit dem WD gemacht worden, da ist ja das Problem mit dem Flash kein Problem, oder habe ich da wieder was falsch verstanden?
Hast du da einen code oder Tuturial den ich da einsetzen kann oder wie man das macht.

Kann man dann nur entweder den User Agent abfragen oder die Bildschirmauflösung oder geht auch beides in der Kombination?

Der WD ist echt ein super Programm für solche Leute wie mich, aber ohne eure Unterstützung hier im Forum würde ich meine Webseiten nicht halb so schön hinbekommen.
Dafür vielen Dank. Besonders an dich BeRo.

 

 

BeRo schrieb am 03.08.2013 um 22:47 Uhr

[...] Das mit dem abfragen der Bildschirmauflösung finde ich nicht so eine schlechte Idee. [...]

Auf den ersten Blick, sicher richtig.

Allerdings sagt Dir die ermittelte Bildschirmauflösung nichts über die Größe des Browserfensters. Die lässt sich zwar auch abfragen aber wenn Du alle aus den beiden Werten resultierenden, möglichen Kombinationen in spezielle Seiten einfließen lassen willst, wirst Du einen unübersehbaren- und letztlich nicht mehr zu pflegenden Wust an Seiten bekommen.

Ein weiterer Nachteil der Nutzung der Bildschirmauflösung ist die Tatsache, dass die Abfrage zusätzlich zum PHP Code gemacht werden muss. Innerhalb des PHP Codes ist die Auswertung nicht möglich, weil PHP serverseitig ausgeführt wird und die Auswertung der Abfrage der Bildschirmauflösung nur mit JavaScript (clientseitig) gemacht werden kann.

Im Klartext bedeutet das, dass Du zusätzlich zu der PHP Abfrage, in jede Startseite, auf die Du per PHP umleitest, den u. a. JavaScript Code einbauen musst, um ggf. auf eine weitere, noch besser angepasste Seite umzuleiten...

Wenn Du Dir das wirklich antun willst, kannst Du z. B. die folgende JavaScript Funktion benutzen, die Du in den Head Bereich jeder Startseite kopierst:

---------------------------------
<script type="text/javascript">
function Screen()
{
if (screen.width<=640)
window.location = "mobile.htm";
if (screen.width<=800)
window.location = "mobile2.htm";
if (screen.width>800
window.location = "desktop.htm";
}
</script>

-------------------------------

Die im o. a. Code sichtbaren Werte der Auflösung und die entsprechenden Seiten, auf die weitergeleitet wird, sind IMHO selbsterklärend. Natürlich kannst Du die Werte/Namen beliebig auf Deine Bedürfnisse zuschneiden.

In den Body Bereich der betroffenen Startseiten kopierst Du dann noch den Aufruf der Funktion:

-------------------------------
<body onload="Screen()">
-------------------------------

Das war's dann schon.

[...] Kann man dann nur entweder den User Agent abfragen oder die Bildschirmauflösung oder geht auch beides in der Kombination? [...]

Sowohl, als auch...

Du kannst die Umleitung also ausschließlich von der Bildschirmauflösung abhängig gestalten.

[...] da ist ja das Problem mit dem Flash kein Problem [...]

Richtig.

Also dann, gerne viel Erfolg und einen schönen Rest vom WE

 

Zuletzt geändert von BeRo am 03.08.2013, 22:47, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓