Hallo
Ich bin gerade dabei, für meine Internetseite eine Version für Smartphones zu bauen. Anfänglich hatte ich nur ein zweites CSS angelegt mittels Media Queries. Da ich aber nur ein Bruchteil der Informationen auf der "mobilen Version" zur Verfügung stellen will, wurde es mir dann zu blöd, das Haupt-CSS umzuschreiben.
Meine Frage ist nun, ob es irgendwie möglich ist, den Browser bzw User-Agent zu überprüfen und wenn es sich um ein mobiles Gerät handelt, dann wird das "mobile.tpl" angezeigt und wenn nicht, dann "normales.tpl".
[Bottle] mobile Endgeräte
Hallo lackschuh,
der Trend geht zu reinen CSS-Lösungen mit »responsive Design«. Die Vielzahl an Geräten, verschiedene Auflösungen, usw. macht eine Unterscheidung auf dem Server sehr schwierig.
Zudem ist es moralisch Fraglich mobilen Nutzern Daten vorzuenthalten, die könnten sich gekränkt fühlen.
der Trend geht zu reinen CSS-Lösungen mit »responsive Design«. Die Vielzahl an Geräten, verschiedene Auflösungen, usw. macht eine Unterscheidung auf dem Server sehr schwierig.
Zudem ist es moralisch Fraglich mobilen Nutzern Daten vorzuenthalten, die könnten sich gekränkt fühlen.
Hi
Auf einer Seite gebe ich dir ja recht. Das Ding ist halt so, dass ich im Haupt-App die Routs definiert habe :
Das ganze Zeugs wie die jquery slider etc. sind in den entsprechenden Templates eingebunden, welche nicht für mobile Geräte (480px) ausgelegt sind. Um mir eine "Neugestaltung" zu ersparen, dachte ich mir, es gäbe eine nicht allzu aufwändige Möglichkeit - ähnlich wie in php mit get_browser ([ string $user_agent [, bool $return_array = false ]] ) - um je nach Gerät bzw Display auf ein eigens dafür ausgerichtetes Tempalte zu verweisen...
EDIT:
user_agent unter bottle:
Auf einer Seite gebe ich dir ja recht. Das Ding ist halt so, dass ich im Haupt-App die Routs definiert habe :
Code: Alles auswählen
@route('/home', method='GET')
def hello():
tpl = template('layout.tpl', Titel = db.thome, Description =db.dhome, menubar = db.menubar,actstate = 'home')
banner = template('banner_aktuell.tpl', aktuelleProjekte = db.aktuelleProjekte)
t = Template(tpl)
return t.substitute(content= banner)
@route('/')
def home():
#banner()
redirect("/home")
EDIT:
user_agent unter bottle:
Code: Alles auswählen
@route('/user_agent')
def user_agent():
return request.environ.get('HTTP_USER_AGENT')
Zuletzt geändert von lackschuh am Montag 15. April 2013, 13:38, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Den User-Agent kannst du natürlich in Bottle auch auslesen, das Problem ist aber dass es ggf. schwer wird festzustellen ob es ein Mobile-Browser ist oder ein Desktop-Browser. Denn Browser wie Chrome, Firefox und IE gibt es in beiden Varianten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Zumal heutzutage selbst auf mobilen Geräten Auflösungen vorhanden sein können, bei denen man problemlos die normale Webseite ausliefern und anzeigen lassen kann. Das am verwendeten Browser fest zu machen ist keine so gute Idee.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wobei jetzt so ne hohe Auflösung auch nicht unbedingt heißt dass man eine Seite so auf einem 3.8" mit dicken Fingern gut bedienen kann. Andererseis gibts Tablets. Die haben AFAK die gleichen User-Agents und vertragen Desktop-Webseiten eher.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@BlackJack Oh ja, die Website dieses Forums beispielsweise ließe sich ganz hervorragend auf meinem Telefon bedienen… wenn man Finger wie eine Pinzette und Augen wie ein Adler hätte.
Habe ich jetzt leider nicht, durch einen dummen Zufall der Evolution, insofern hilft mir die hohe Auflösung meines Telefons da leider gar nicht, so dass ich mir wirklich jedes Mal wieder wünsche, die phpbb-Entwickler hätten dieselbe Rücksicht auf Mobilgeräte genommen wie lackschuh.
Habe ich jetzt leider nicht, durch einen dummen Zufall der Evolution, insofern hilft mir die hohe Auflösung meines Telefons da leider gar nicht, so dass ich mir wirklich jedes Mal wieder wünsche, die phpbb-Entwickler hätten dieselbe Rücksicht auf Mobilgeräte genommen wie lackschuh.
Dann entwickelt man die Seite am besten für Tablets und nutzt die gleiche als Desktop Webseite. Kleine Links, Buttons und Text, sowie hover Spielereien stören auf einem Tablet genauso wie auf einem iPhone. Außerdem sollte man darauf achten dass man bei Geräten mit Retina Displays entsprechende Bilder verwendet.Leonidas hat geschrieben:Wobei jetzt so ne hohe Auflösung auch nicht unbedingt heißt dass man eine Seite so auf einem 3.8" mit dicken Fingern gut bedienen kann. Andererseis gibts Tablets. Die haben AFAK die gleichen User-Agents und vertragen Desktop-Webseiten eher.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wobei Hover-Spielereien eigentlich platformunabhängig stören. Das ist ja etwa das Schöne an Bootstrap, dass sich da jemand zumindest irgendwelche Gedanken gemacht hat und das es so überall so einigermaßen nutzbar ist.DasIch hat geschrieben:Dann entwickelt man die Seite am besten für Tablets und nutzt die gleiche als Desktop Webseite. Kleine Links, Buttons und Text, sowie hover Spielereien stören auf einem Tablet genauso wie auf einem iPhone. Außerdem sollte man darauf achten dass man bei Geräten mit Retina Displays entsprechende Bilder verwendet.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice