[PHP] Detecteren van mobiele browsers

Pagina: 1
Acties:
  • 166 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • plakbandrol
  • Registratie: Juni 2002
  • Laatst online: 16-09 09:35
Ik ben bezig met een site die ik zowel via desktop als WAP wil kunnen bereiken, aan het begin van de index wordt gekeken of de client een mobiel toestel is of niet, en afhankelijk daarvan wordt de WML of normale pagina geladen.

Het probleem is dat ik geen goede methode kan vinden die onderscheid kan maken tussen een mobieltje en een desktop PC, ik heb al wel functies gezien die een lijst met wap browsers hebben die ze kunnen herkennen, maar dit is vrij omslachtig en je zit met een lijst die je altijd up-to-date moet houden. Ik zoek een elegantere methode, maar heb weinig kunnen vinden

Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

Hoe kan je iets up to date houden met informatie die nog niet bestaat. Gewoon de user agent uitchecken en kijken of het een mobiel is. En mischien daarnaast een lijst van mobiels houden zodat je het gemakkelijk kan updaten.

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

Verwijderd

je zou eens kunnen googlen naar het CSS media type "handheld" en kijken of je daar iets mee kunt.

[ Voor 22% gewijzigd door Verwijderd op 01-07-2007 01:43 ]


Acties:
  • 0 Henk 'm!

  • plakbandrol
  • Registratie: Juni 2002
  • Laatst online: 16-09 09:35
dit lijkt goed te werken bij mij
code:
1
2
3
if (count($_SERVER['HTTP_ACCEPT_ENCODING'])==0) {
  // user zit te wappen
 }

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Dit script is wat uitgebreider, eventueel kun je de lijst met mobileagents nog updaten of weglaten.
plakbandrol schreef op zondag 01 juli 2007 @ 02:49:
dit lijkt goed te werken bij mij
code:
1
2
3
if (count($_SERVER['HTTP_ACCEPT_ENCODING'])==0) {
  // user zit te wappen
 }
Lijkt me wel een beetje magere controle. :P Liever een paar checks teveel dan te weinig denk ik dan.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
[b][message=28322016,noline]Lijkt me wel een beetje magere controle. :P Liever een paar checks teveel dan te weinig denk ik dan.
Op zich is dat discutabel. Als je een check teveel doet en mensen met een gewone browser komen ongewild op je wap-site terecht laat dat ook geen beste indruk van je site achter met alle gevolgen van dien. $_SERVER['HTTP_ACCEPT_ENCODING'] bijvoorbeeld hoeft ook niet per se aan te staan bij iemand met een gewone browser en op zich zou het me niet verbazen (vooral gezien juist WAP gebruikers doorgaans over een trage verbinding beschikken) als in de nabije toekomst er telefoons komen die wel met compressie overweg kunnen.

De eerste twee methodes die Moore gebruikt lijken dan nog wel de meest veilige keuze :) Sowieso kan het natuurlijk geen kwaad ook een linkje te plaatsen naar de alternatieve versie, ik heb ook wel eens (vooral in het buitenland) over 24k lijntjes gesurfd en dan wil je ook met je gewone browser graag zo min mogelijk downloaden :)

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Ik denk dat je het beste naar de Accept kunt kijken:

Firefox:
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Internet explorer 6:
Accept: */*

Opera 9:
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1

Winwap:
Accept: text/vnd.wap.wml, application/vnd.wap.wmlc, image/vnd.wap.wbmp, image/gif, image/jpeg, text/vnd.wap.wmlscript, application/vnd.wap.wmlscriptc

Mijn telefoon (die behalve wml ook html snapt):
Accept: application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*

Ik denk dat je het nu zelf je vraag wel kunt beantwoorden :)

Acties:
  • 0 Henk 'm!

  • plakbandrol
  • Registratie: Juni 2002
  • Laatst online: 16-09 09:35
hmm mijn telefoon zegt */*

opzich is het niet verkeerd om een browser die totaal niets kan qua encoding en accept door te verwijzen naar een basic wap versie, dan zet ik gewoon onderaan een linkje om naar de gewone versie te gaan

Acties:
  • 0 Henk 'm!

Verwijderd

http://www.google.nl/search?q=browscap.ini+php
There you go. Het resultaat geeft de meeste capabilities weer, incl wap.

En als je zelf geen toegang hebt tot de benodigde config files, zijn er vast wel oplossingen voor. In ieder geval deze: http://garetjax.info/projects/browscap/

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb zelf lange tijd met een Open-Source project gewerkt genaamd WURFL

Hiermee kan je WML pagina's maken en vrijwel alle eingeschappen van ongeveer 10.000 mobiele telefoons opvragen uit een database. Hier zit vast bij dat jij zoekt. Ook alle mobiele browser eigenschappen zitten verwerkt in deze database.

Er bestaat hier ook een variant op die werkt met my-sql: Tera Wurfl.
Deze open-source database wordt ook ook gebruikt door grote telecom-providers.

Succes. :)

[ Voor 17% gewijzigd door Verwijderd op 02-07-2007 20:51 ]

Pagina: 1