Wir beginnen den Weg der Unterstützung mobiler Browser für eine E-Commerce-Web-App für Unternehmen (Java/Servlet-basiert) zu beschreiten. Natürlich gibt es viele Entscheidungen, die getroffen werden müssen, aber es scheint mir der Grundstein zu sein, mobile Browser zuverlässig zu erkennen und Entscheidungen zu treffen, die entsprechend zurückgegeben werden sollen. Gibt es eine Standardmethode, um diese Bestimmung (schnell) basierend auf der http-Anfrage durchzuführen, und im Idealfall weitere Informationen über den jeweiligen Browser und das angefragte Gerät (Bildschirmgröße, HTML-Funktionen usw.) nachlesen.
Ich würde mich auch über zusätzliche Informationen freuen, die von jemandem genutzt werden könnten, der diesen Weg eingeschlagen hat, eine bestehende Enterprise-Webapp-App zu nutzen und die Unterstützung mobiler Browser von der Entwicklungsseite aus zu entwickeln.
[edit] Ich verstehe sicherlich den Anforderungsheader und die Informationen über eine Datenbank von Standardbenutzeragenten sind eine große Hilfe. Für diejenigen, die über "andere" Eigenschaften von Anforderungsheatern sprechen, wäre es eine große Hilfe, wenn Sie ähnliche standardisierte Namen/Ressourcen mit Werten verwenden könnten.
[edit] Mehrere Benutzer haben Lösungen vorgeschlagen, die einen Anruf über einen Draht zu einem Webdienst beinhalten, der die Erkennung durchführt. Ich bin mir sicher, dass dies funktioniert, es ist jedoch aus zwei Gründen keine gute Lösung für eine E-Commerce-Site für Unternehmen: 1) Geschwindigkeit. Ein drahtloser Anruf bei jeder Seitenanforderung an einen Dritten hätte enorme Auswirkungen auf die Leistung. 2) Abhängigkeit/rechtlich. Wir würden die Reaktionszeit unserer Website und die wichtigsten Funktionen an ihren Service binden, was aus rechtlichen Gründen und aus Gründen des Risikos fürchterlich ist.
Wäre es nicht üblich, den Benutzeragenten zu überprüfen? Hier ist eine Datenbank von Benutzeragenten , mit der Sie mobile Browser erkennen können.
@ Davids Antwort wurde mit WURFL erwähnt - was wahrscheinlich die beste Option ist. Seien Sie jedoch vorgewarnt, die Erfolgsquote liegt normalerweise bei 60% (aufgrund meiner und anderer Erfahrungen). Da die Netzbetreiber ständig die UAs ändern und die Anzahl der vorhandenen Geräteprofile (60.000 und mehr?), Gibt es keine kugelsichere Methode, um alle gewünschten Daten zu erhalten.
Nur eine kleine Warnung, bevor Sie sich stark auf einen Geräte-DB verlassen. Ich würde versuchen, die Optionen des Benutzers offen zu halten, indem ich ihnen erlaube, die Sitzungsoptionen zu ändern, falls ich falsch geraten habe.
Sie können Modernizer verwenden, um die Browserfähigkeiten zu erkennen
Während Sie einen mobilen Browser über seinen Benutzeragenten erkennen können, hat der Browser-Krieg auf der PC-Plattform gezeigt, dass das Erkennen von Benutzeragenten nicht wirklich gut ist.
Im Idealfall sollten bestimmte Stile basierend auf dem Medientyp angewendet werden oder eine andere Antwort basierend auf einem anderen Header als dem Benutzeragenten gesendet werden, z. B. der Accept-Header, der angibt, welche Art von Inhalt der Browser bevorzugt .
Im Moment reicht es vielleicht aus, eine Website zu programmieren, die mit dem iPhone und mit Opera durch Browser-Sniffing funktioniert - aber Googles Android kommt jetzt jede Minute und es gibt viele andere Mobiltelefone, die in naher Zukunft eine Browser-Funktionalität haben werden, die dem iPhone nahe kommt Es wäre eine Verschwendung, eine mobile Website zu entwickeln, die diese Geräte nicht so gut wie möglich unterstützt.
Nach Tagen der Suche nach dem richtigen Weg, ein mobiles Gerät zu finden, habe ich mich entschlossen, es einfach zu halten [dumm], und ich werde einen "Mobile Device Site" -Button auf meiner Indexseite platzieren.
Mobile Browser erkennen - Snippets in verschiedenen Programmiersprachen.
Dieser Artikel (und sein Follow-up ) scheint Nizza.
Die folgende leichtgewichtige Apache-Konfiguration leistet gute Arbeit und merkt sich die Benutzervorlieben, wenn sie die PC-Version bevorzugen
<VirtualHost (your-address-binding)>
(your-virtual-Host-configuration)
RewriteEngine On
RewriteCond %{QUERY_STRING} !ui=pc
RewriteCond %{HTTP_COOKIE} !ui=pc
RewriteCond %{HTTP_USER_AGENT} "^.*(iphone|iPod|ipad|Android|symbian|nokia|blackberry| rim |opera mini|opera mobi|windows ce|windows phone|up\.browser|netfront|Palm-|Palm os|pre\/|palmsource|avantogo|webos|hiptop|iris|kddi|Kindle|lg-|lge|mot-|Motorola|nintendo ds|nitro|PlayStation portable|samsung|sanyo|sprint|sonyericsson|symbian).*$" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "^(alcatel|audiovox|bird|coral|cricket|docomo|edl|huawei|htc|gt-|lava|lct|lg|lynx|mobile|lenovo|maui|micromax|mot|myphone|nec|nexian|nook|pantech|pg|polaris|ppc|sch|sec|spice|tianyu|ustarcom|utstarcom|videocon|vodafone|winwap|zte).*$" [NC]
RewriteRule /(.*) http://bemoko.com/$1 [L]
RewriteCond %{QUERY_STRING} "ui=pc"
RewriteRule ^/ - [CO=ui:pc:(your-cookie-domain):86400:/]
RewriteCond %{QUERY_STRING} "ui=default"
RewriteRule ^/ - [CO=ui:default:(your-cookie-domain):86400:/]
</VirtualHost>
Weitere Hintergrundinformationen dazu @ http://bemoko.com/training.team/help/team/pc-to-mobile-redirect
Ich schlage ein freies Erkennungssystem vor, das auf uaprof und einem Benutzeragenten basiert: http://www.mobilemultimedia.be UAprof sollte der Primärschlüssel für die Erkennung sein, wenn es verfügbar ist, da normalerweise mehrere vorhanden sind Benutzeragenten für dasselbe uaprof. Wenn Sie dies selbst verwalten möchten, sollten Sie sich für Wurfl entscheiden, da Sie die gesamte Datenbank herunterladen und lokal selbst verwalten können.
Als ich kürzlich ein ähnliches Bedürfnis hatte, habe ich diesen Code gefunden, der HTTP_X_WAP_PROFILE
, HTTP_ACCEPT
und HTTP_USER_AGENT
verwendet, um einen Browser als mobil oder nicht mobil zu identifizieren. Es ist PHP, kann aber ziemlich einfach in alles konvertiert werden, was Sie brauchen (ich habe es in VBScript für klassisches ASP implementiert).
Ironischerweise stellte sich heraus, dass ich den Code nicht verwendet habe, weil wir uns entschieden hatten, spezifische URLs für mobile und nicht mobile Benutzer bereitzustellen, aber es funktionierte auf jeden Fall, als ich ihn testete ...
Ich kann es hier nicht sehen, aber eine andere Option, die ich derzeit untersuche, ist www.detectmobilebrowser.com
Am einfachsten ist es, ein Array mit regulären Tags zu erstellen, die mit mobilen Browsern verknüpft sind. Zumindest die meisten mobilen Benutzeragenten müssen über Word Mobile, Mini, Nokia, Java ME, Android, iPhone, mobiles Betriebssystem usw. verfügen. Wenn einer mit dem Benutzeragenten über Php strpos übereinstimmt, drucken Sie einen mobilen Button oben auf der Seite . Überlassen Sie dem Benutzer die Auswahl. Ich liebe die komplette Website, da mein mobiler Browser das gleiche Erlebnis bietet, nur dass ich meistens zoomen oder scrollen muss.
OK, hier ist eine sehr einfache Antwort - wie wäre es, wenn Sie den Benutzer entscheiden lassen? Geben Sie in Ihrem Login zu Ihrem ap einen Link zur mobilen Website an. Geben Sie auf der mobilen Website einen Link "zurück zur Hauptseite" an - probieren Sie www.fazolis.com auf Ihrem mobilen Gerät - sie machen das gut.
dann registrieren Sie auf dem Link zur mobilen Website von der Browserseite ihre "Stimme" und ihren Benutzeragenten. Sie können Ihre eigene zuverlässige Liste vonIHRENKunden erstellen, die die mobile Site wünschen. Verwenden Sie diese Spezifikationen in Bezug auf die Bildschirmgröße für diese mobilen Geräte, und Sie können eine ziemlich gute Logik für eine zufriedenstellende Benutzererfahrung aufbauen. Ich würde NIEMALS zu einem Netzwerk veröffentlichen, um etwas so elementares wie dieses zu erhalten.
Ach ja und auf Ihrer "mobilen Site" - wenn Sie Ihre App semantisch gut schreiben, sollten Sie in der Lage sein, eine einzelne Site für Mobile und Browser zu präsentieren, anstatt zwei separate Seitensätze zu erstellen. Nur etwas zum Nachdenken - dies ist den zusätzlichen Aufwand und die Anstrengung wert, später Zeit zu sparen.
Die meisten Informationen wie Browser, Gerät, akzeptierte Sprachen, akzeptierte Formate usw. erhalten Sie aus dem Anforderungsheader. Der oben erwähnte Benutzeragent ist Teil des Anforderungskopfes.
sie können WURFL-APIs verwenden, um den Gerätetyp zu ermitteln
http://wurfl.sourceforge.net/wurfl_schema.php
oder Modernizer um Browserfähigkeiten zu erkennen
Tatsache ist, dass die Verwendung von Useragent nicht ausreicht, um mobile Browser zu erkennen.
Sicher, vor Jahren konnte man nach bestimmten Zeichenfolgen suchen und vermuten, dass es sich um ein Nokia oder etwas anderes handelt, aber jetzt gibt es so viele Handys und so viele, die so tun, als wären sie Dinge, die nicht das etwas Feineres erfordern.
Ich habe unter link text eine großartige Seite gefunden, die auf der gleichen Lösung basiert, die MTV für alle mobilen Websites verwendet. Es ist wirklich gut, da es eine geräteunabhängige Auszeichnungssprache hat, aber noch wichtiger ist, dass sie einen Webservice-Aufruf für isMobileDevice () anbieten.
Schau einfach in das Handbuch und dann 'wie es funktioniert'.
Ich habe es für die Websites meiner Kunden verwendet und muss noch einen mobilen Browser finden, den er nicht genau erkennt. Total blendend!
sie können einen Webservice verwenden, um mobiles Surfen zu erkennen, z.
Sie müssen die Benutzeragentenzeichenfolge mit einer zuvor definierten Liste überprüfen, wie dieser
Gerade über Geräte- und Feature-Erkennung im mobilen Web mit folgenden Inhalten: