mobile de détection pour coldfusion
Est-il un moyen de détection si un utilisateur est sur un appareil mobile à l'aide seulement de coldfusion?
- Je ne vais pas faire un mobile redirect.
- Je suis en utilisant le CSS media queries pour modifier la mise en page pour l'adapter à la largeur de l'écran.
- Je veux juste faire un simple si le mobile de rendre cette information d'autre de rendre cette information plutôt qu'à des parties du site qui n'est pas la chose entière. (ex: si mobile [voir jquery animation] d'autre show [lien])
- Je ne veux pas perdre de temps à rendre les deux si ce n'est pour faire un display none pour l'info ne sera pas montré de toute façon.
- Pas de javascript mobile de détection de personnes pourraient avoir javascript sur leurs navigateurs)
Voir aussi stackoverflow.com/questions/142273/... et liées/associées à des questions, ils ne sont pas CF concentré, mais c'est fondamentalement la même chose quelle que soit la langue utilisée.
Sonne comme quelqu'un doit écrire un ptit CF utilitaire pour traiter cette question. Rien sur riaforge?
plutôt que d'avoir à continuellement embed <CFIF MOBILE> les relevés tous un comportement différent sur votre site, je vous recommande d'avoir séparé la couche vue pour mobile (si vous utilisez un MVC basé sur cadre) et de les réorienter.
Sonne comme quelqu'un doit écrire un ptit CF utilitaire pour traiter cette question. Rien sur riaforge?
plutôt que d'avoir à continuellement embed <CFIF MOBILE> les relevés tous un comportement différent sur votre site, je vous recommande d'avoir séparé la couche vue pour mobile (si vous utilisez un MVC basé sur cadre) et de les réorienter.
OriginalL'auteur meijiOrO | 2011-10-04
Vous devez vous connecter pour publier un commentaire.
J'ai écrit un billet de blog à propos de cette chose!
http://www.mccran.co.uk/index.cfm/2010/6/4/Simple-Coldfusion-script-to-detect-if-a-user-is-on-a-Mobile-platform
Vous pouvez facilement détecter le navigateur de la chaîne de l'agent utilisateur. Tho comme je l'ai connu récemment des navigateurs comme google chrome va vous permettre de changer votre chaîne de l'agent utilisateur:
http://www.mccran.co.uk/index.cfm/2011/9/25/Samsung-Galaxy-Tab-101-Switching-your-browser-from-mobile-view
Désolé, ce n'est pas vraiment l'intention de le couper. il y a beaucoup plus de cas que juste "android" et "iphone". Vous devriez voir Raymond Camden de l'article ici: raymondcamden.com/index.cfm/2011/3/28/... Vous devez toujours fournir à l'utilisateur un moyen de refuser de votre mobile de détection, et vous avez besoin pour couvrir plus de bases. UserAgent reniflant ne sera jamais parfait, mais il peut être beaucoup plus complète que celle de cette réponse.
La réponse ci-dessous est certainement une approche plus rapide pour mobile de détection. Si vous êtes à la recherche pour créer un jeu de caractères/de style pour chaque dispositif ou tout simplement mobile en général, arrêter. Utilisez quelque chose comme Bootstrap pour le responsive design, donc vous n'avez qu'à maintenir un ensemble de code.
OriginalL'auteur Shaun McCran
J'ai utilisé le code jusqu'à http://detectmobilebrowsers.com/ pour ce faire. Ils gardent les regex assez courant. La page à propos, il y a des détails sur les tablettes si vous avez besoin ainsi que mobile. Déposer si dans un UDF de la fonction, afin de facilement le tenir à jour sur d'autres changements.
Le CFM version:
OriginalL'auteur mujimu
Utiliser des CGI.HTTP_USER_AGENT:
remplacer MobileAgentOne avec le navigateur, vous êtes à la recherche pour.
Un rapide google devrait vous fournir une bonne liste d'agents Mobiles, actuellement en usage, tels que: http://www.useragentstring.com/pages/Mobile%20Browserlist/
Si vous souhaitez être un peu plus robuste, voici un moyen de fournir des correspondances partielles, de sorte que vous pouvez regarder pour les familles de téléphones mobiles, plutôt que d'énumérer un million de différents agents mobiles:
OriginalL'auteur Shawn Holmes
Vous pouvez examiner la valeur de
CGI.HTTP_USER_AGENT
et voir si elle indique que le client est un mobile.Voici un petit extrait de code basé sur code Python que j'ai trouvé mais il peut y avoir plus de contrôles avancés que vous pouvez faire:
OriginalL'auteur Peter Boughton
(Excuses pour faire de cette réponse, mais je ne suis pas en mesure de commenter ici.)
Test de la chaîne 'android' attrape un tas de comprimés (motorola xoom, samsung galaxy tab, asus transformer, d'autres de toshiba, sony, acer, etc.). Android est un OS, pas une classe de périphériques.
Je dirais un réaliste réponse dépend beaucoup de ce que vous considérez être un "mobile" de l'appareil. Sans doute, beaucoup de comprimés de faire tout aussi bien à la "normale" (non mobiles) des sites, compte tenu de leur puissance de traitement physique et la taille de l'écran, de sorte que la formation de grumeaux avec beaucoup plus petits et de moins en moins capable de téléphones mobiles n'ces utilisateurs un mauvais service.
Note que "iPhone" est référencé dans plusieurs réponses précédentes, mais pas "iPad", de sorte qu'ils implicitement exclure iOS tablettes, je crois que c'est correct pour android trop.
Une réponse basée sur cette approche est beaucoup moins trivial, malheureusement. Divers solutions sont là sur le net, une version de base qui est à la recherche de la parole mobile et d'en exclure d'tablette des chaînes de caractères spécifiques tels que les tablettes, pad, xoom, eeepc, flyer, etc. Cependant, des dispositifs nouveaux apparaissent chaque semaine, et chercher même les plus populaires sera difficile, au mieux.
OriginalL'auteur enigment
Ne l'detectmobilebrowsers.com la solution d'aller dans l'en-tête? Est-il une raison de ne pas mettre la détection de la ligne avant de l'en-tête? J'ai un jeu de cadres (je sais, pas l'idéal...) et je pense que le jeu de cadres est d'obtenir détecté premier et le chargement de mes images avant d'exécuter le script de détection de court. (Est-ce possible?)
Il fonctionne très bien dans l'en-tête avec android, mais pas de kindle, l'ipad ou l'iphone (j'ai ajouté un ipad ligne).
Merci pour la lecture,
LPP
OriginalL'auteur LPP DEV
(Désolé pour la réponse, au lieu de commenter, je ne suis pas en mesure de commenter ou voter jusqu')
J'ai d'abord aimé mujimu de la solution. Je l'ai mis sur mon site et il semble bien fonctionner test avec mon iphone. Cependant, j'ai commencé à tester avec cette http://www.mobilephoneemulator.com/ et il n'a pas de travail pour une majorité des appareils.
Voici ce que je ferais (et fera). Sortie de quelque chose comme cela dans un endroit discret,
<cfoutput>#CGI.HTTP_USER_AGENT#</cfoutput>
. Puis test et d'enregistrer ce que les dispositifs de sortie.Ensuite, utilisez quelque chose comme ceci (merci Peter Boughton) et entre les tuyaux, utiliser un mot clé distinct de l'essai...
Après mes premiers essais, voici la liste que j'ai trouvé. S'il vous plaît laissez-moi savoir si vous pensez que c'est précis...
ARCELIK,l'Accès,Acer,Ahong,Aiko,Airis,Airness,Alcatel,AlphaCell sans Fil,Amazon,Amoi,Amoisonic,Android,AnexTek,Apple,Archos,Asmobile,Aspen,Asus ASUSTeK COMPUTER INC.,Audiovox,Becker,BEKO,Bellawave,BellWave,BenQ,BenQSiemens,BenQ-Siemens,Oiseau,Bleu,Bleu Coat,B-Mobile,Bolt,Bytemobile,Capitel,Casio,CDM,CECT,CheckCom,Cingular,Cking,Compal,Compaq,CoralWeb,Cricket,Dai Telecom,Dallab,Danger,Daxian,DBTEL,Dicam,Dmobo,DoCoMo,Dopod,Doris,DreamPhone,EDL,Elite,ELSON,Emblaze,Emobile,Enteos,Era,Ericsson,Ericy,ETEN,EZIO,EZZE,Fitel,Fly,Fujitsu,generic,générique navigateur web,Windows Générique,Générique de Windows Mobile,GIGABYTE,Gionee,Google,Gradiente,Grundig,Haier,Handspring,Hedy,Hei,Helio,Hewlett-Packard,Hisense,Hitachi,HP,HTC,HTC Corporation,HTIL,HUAWEI,Hummer,IAC OKWAP,IAC OKWAP les Communications Mobiles,l'Idée,iKoMo,IM,Imate i-mate,i-mobile,Infineon,InfoSonics,Innostream,INQ Mobile,Itelco,IXI,KCM,KDDI,KDDI - SonyEricsson,KDDI-Casio,KDDI-Hitachi,KDDI-Kiocera,KDDI-Kyocera,KDDI-Panasonic,KDDI-Pantech,KDDI-Sanyo,KDDI-Sharp,KDDI-SonyEriccson,KDDI-SonyEricsson,KDDI-Toshiba,Kejian,Kisen,Klondike,KONKA,Kozi,KPT,K-Touch,Kyocera,Kyocera Wireless Corp,LCT,Lenovo,Lenovo Mobile,Lexibook,Lexus,LG,LG Electronics,LGE,le Homard,Longcos,LT,LXE,M3 Porte,Malata,MAUI à base Générique,Maxon,Medion,MicroMax,Microsoft,MIO,Mio Technology,Miracle,MiTAC,Mitsubishi,sans Fil Mobile du Groupe,MOBISTEL,Modelabs,ModelLabs,Modottel,Modu,MOMO Design,Morange,Motorola,Myphone,NEC,Neonode,Newgen,Nexian,Nintendo,Nokia,Novarra,NTT DoCoMo,NTT DoCoMo FOMA 3G,O2,ONDA,Openwave,Opera,Optimay,Orange,Palm,PalmOne,Panasonic,Panda,Pantech,PCD,Philips,PhoneOne,Pirelli-Arcor,Porsche Design,Porshe,Poseidon,Psion,QCI,QMobile,Qtek,Raks,Reporo,Research In Motion Ltd.,RIM,Robot,Ron,Rover,RT,Sagem,SAMART,Samsung,Sanyo,SavaJe,SEC,Semc,Sendo,Sharp,Siemens,Skyfire,Skyspring,Skyspring Vitelcom,Skyworth,SKYZEN,SlobTrot de Logiciels,SmartTrust,Sourire,SoftBank,Sonim,Sony,Sony Ericsson Mobile Communications,SonyEricsson,d'Épices,de Sprint,de la SPV,le Lever du soleil,TCL,Techfaith,Tél.Moi.,Telecom Italia,Telit,TIANYU,T-Mobile,Toplux,Toshiba,Tranxcode,TTPCom,tvCompass,tvCompass DMR1500,Ubiquam,UCWEB,Uniscope,Unistar,Uriver,Usha Lexus,Utec,UTStarcom,V3m (Metro PCS),Vacom,la Vitesse Mobile,Venera,Verizon,Vertu,VeryKool,VERZIOWORLD,Vitelcom,VITELCOM pour Telefonica Movistar,VK,VK Mobile,Vodafone,Vodafone ZTE,Voxtel,W3C,Wapamp,Wapsilon,WAPUniverse,WellcoM,WinWAP Technologies,Wonu,XDA,Yas,Yospace Ericsson,Yospace Motorola,Yospace Nokia,Yospace Forte,Yospace Siemens,Yospace SonyEricsson,Yulong,Zonda,ZT,ZTE,.mobi
OriginalL'auteur Andy Idema