Vincenzo Capponcelli - www.ZooLotus.org

Mobilize your domino applications! riconoscere un client mobile con la funzione @GetHTTPHeader("User-Agent")

Vincenzo Capponcelli  November 4 2008 02:00:00 AM
I navigatori mobile-web sono in continua crescita e sono sempre più frequenti i siti dedicati a questo tipo di device per andare incontro alle loro ridotte capacità hw/sw (risoluzione video, connettività, ecc...)

Per accedere ai siti in modalità mobile è stata definita una apposita estensione di dominio .mobi (es. http://ilyrics.mobi) oppure gli si dedica una specifica url che di solito inizia per  mobile. oppure m.  (es. http://mobile.ilmeteo.it , http://m.google.it/)

Image:Mobilize your domino applications! riconoscere un client mobile con la funzione @GetHTTPHeader("User-Agent")

Nello sviluppo di applicazioni web-notes posso riconoscere automaticamente se il client è mobile utilizzando il linguaggio formula con la funzione @GetHTTPHeader("User-Agent")



Nel caso del mio blackberry la funzione restituisce
BlackBerry8310/4.5.0.55 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/132

oppure
Opera/9.50 (J2ME/MIDP; Opera Mini/4.1.11320/408; U; it)

se utilizzo il browser Opera Mini

Cercando la presenza delle parole come:
windows ce
iemobile
mini
symbian
phone
mobile
pda
blackberry

e possibile riconoscere i principali device diffusi in commercio (blackberry, iphone, windows mobile, nokia-symbian, ecc...)


Esempio di una formula per caricare un frameset specifico per i client mobile
Image:Mobilize your domino applications! riconoscere un client mobile con la funzione @GetHTTPHeader("User-Agent")

tmpmobileflag:=("windows ce":"iemobile":"mini":"symbian":"wap":"phone":"pocket":"mobile":"pda":"blackberry");
tmpBrowser:= @LowerCase (@GetHTTPHeader("User-Agent"));
@If ( @Contains (tmpBrowser; tmpmobileflag) ;"webWelcomemobile"; "webWelcomestandard" )


P.S.
Non prendete in considerazione la proprietà di design "Mobile clients" presente in ogni elemento di design di notes (o formula nascondi quando)
Image:Mobilize your domino applications! riconoscere un client mobile con la funzione @GetHTTPHeader("User-Agent")
in quanto fa riferimento al prodotto Domino Everyplace® Access Server... ossia uno dei primi tentativi di integrazione con il mondo mobile... che oggi non credo sia più supportato o sviluppato






Comments
No Comments Found