Mobile coldfusion的移动检测

Mobile coldfusion的移动检测,mobile,coldfusion,detection,Mobile,Coldfusion,Detection,是否有一种方法可以检测用户是否在仅使用coldfusion的移动设备上 我不是在做移动重定向 我正在使用CSS媒体查询来更改布局以适应屏幕宽度 我只想做一个简单的如果移动渲染这个信息,否则渲染这个信息,而不是网站的一部分,而不是整个事情。(例如:if-mobile[显示jquery动画]else-show[链接]) 我不想浪费时间渲染两者,如果只是对无论如何都不会显示的信息执行显示无 没有javascript移动检测(人们可能在浏览器上关闭了javascript) 使用CGI.HTTP\u用户\

是否有一种方法可以检测用户是否在仅使用coldfusion的移动设备上

  • 我不是在做移动重定向
  • 我正在使用CSS媒体查询来更改布局以适应屏幕宽度
  • 我只想做一个简单的如果移动渲染这个信息,否则渲染这个信息,而不是网站的一部分,而不是整个事情。(例如:if-mobile[显示jquery动画]else-show[链接])
  • 我不想浪费时间渲染两者,如果只是对无论如何都不会显示的信息执行显示无
  • 没有javascript移动检测(人们可能在浏览器上关闭了javascript)

  • 使用CGI.HTTP\u用户\u代理:

    <cfif (CGI.HTTP_USER_AGENT is "MobileAgentOne")>
    
    
    
    将MobileAgenton替换为您正在查找的浏览器

    快速谷歌应该为您提供当前使用的移动代理的适当列表,例如:

    如果你想变得更加健壮,这里有一种方法可以提供部分匹配,这样你就可以寻找手机系列,而不是列出一百万种不同的独特移动代理:

    <cfset agentList = "ASUS,AUDIOVOX,BenQ">
    
    <cfloop list="#agentList#" index="thisAgent">
        <cfif FindNoCase(thisAgent, CGI.HTTP_USER_AGENT)>
            Found
        </cfif>
    </cfloop>
    
    
    建立
    
    您可以检查
    CGI.HTTP\u USER\u AGENT
    的值,看看它是否指示客户端是移动设备

    下面是一个基于的快速代码段,但您可以执行更多高级检查:

    <cfif refindNoCase
        ( 'android|blackberry|iphone|ipod|mobile|palm|phone|windows\s+ce'
        , CGI.HTTP_USER_AGENT
        )>
        probably mobile
    </cfif>
    
    
    可能是移动的
    
    我写了一篇关于这件事的博客

    
    
    您可以轻松地从用户代理字符串中检测浏览器。正如我最近体验到的,chrome等浏览器将允许您更改用户代理字符串:

    (很抱歉回答这个问题,但我无法在此发表评论。)

    对“安卓”一串的测试吸引了大量平板电脑(摩托罗拉xoom、三星galaxy tab、华硕transformer、东芝、索尼、宏碁等公司的其他产品)。Android是一个操作系统,而不是一类设备

    我会说一个现实的答案很大程度上取决于你认为是一个“移动”设备。可以说,考虑到平板电脑的处理能力和物理屏幕大小,许多平板电脑在“普通”(非移动)网站上表现良好,因此将其与更小、功能更差的手机结合使用,对这些用户来说是一个巨大的挑战

    请注意,前面的几个答案中都列出了“iPhone”,但没有列出“iPad”,因此它们隐含地排除了iOS平板电脑,我认为这对于android也是正确的

    不幸的是,基于这种方法的答案远没有那么琐碎。网络上有各种各样的设备,其中一个基本版本是查找mobile这个词,并排除一些特定于平板电脑的字符串,如tablet、pad、xoom、eeepc、flyer等。然而,每周都会出现新设备,即使是最流行的设备,也将是一个挑战。

    。他们保持正则表达式的流动性。如果您需要平板电脑和手机,about页面会提供有关平板电脑的详细信息。在UDF函数中删除if,以便在进一步更改时轻松保持最新

    CFM版本:

    <cfif reFindNoCase("android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino",CGI.HTTP_USER_AGENT) GT 0 OR reFindNoCase("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-",Left(CGI.HTTP_USER_AGENT,4)) GT 0>
       <cflocation url="http://mobile.yoururl.com">
    </cfif>
    

    detectmobilebrowsers.com解决方案是否包含在标题中?是否有任何理由不将检测线放在收割台之前?我有一个框架集(我知道,不理想…),我认为框架集首先被检测到,然后在运行检测脚本之前加载我的框架。(可能吗?) 它在安卓系统的页眉中运行良好,但kindle、ipad或iphone(我添加了一行ipad)都不行

    谢谢你的阅读, LPP

    (很抱歉回答而不是评论,我无法评论或投票支持)

    我最初喜欢mujimu的解决方案。我把它放在我的网站上,用我自己的iphone进行测试,它似乎工作得很好。然而,我开始用它进行测试,它对大多数设备都不起作用

    以下是我将要做的(也将要做的)。在一个谨慎的位置
    #CGI.HTTP\u USER\u AGENT#
    输出类似的内容。然后测试并记录设备的输出

    然后,使用类似的东西(谢谢Peter Boughton),在管道之间,使用与测试不同的关键字

    <cfif refindNoCase
        ( 'distinct_keyword|android|blackberry|iphone|ipod|mobile|palm|phone|windows\s+ce'
        , CGI.HTTP_USER_AGENT
        )>
        probably mobile
    </cfif>
    
    
    可能是移动的
    
    经过我的初步测试,下面是我列出的清单。请让我知道,如果你认为这是准确的

    ARCELIK、Access、Acer、Ahong、Aiko、Airis、Airness、Alcatel、AlphaCell Wireless、Amazon、夏新、Amoisonic、Android、AnexTek、苹果、Archos、Asmobile、Aspen、华硕、华硕电脑公司、Audiovox、Becker、BEKO、Bellawave、BellWave、BenQ、BenQ Siemens、Bird、Bleu、Blue Coat、B-Mobile、Bolt、Bytemobile、Capitel、Casio、CDM、CECT、CheckCom、Cingular、CK、Compal、Compaq、,CoralWeb、Cricket、Dai Telecom、Dallab、Danger、Daxian、DBTEL、Dicam、Dmobo、DoCoMo、Dopod、Doris、DreamPhone、EDL、Elite、ELSON、Emblaze、Emobile、Enteos、Era、爱立信、爱立信、ETEN、EZIO、EZZE、Fitel、Fly、富士通、通用、通用、通用网络浏览器、通用Windows、通用Windows Mobile、千兆字节、Gionee、谷歌、Gradiente、Grundig、海尔、Handspring、Hedy、Hei、Hei、Helo、Hewlett-Packard、,海信、日立、惠普、HTC、HTC公司、HTIL、华为、悍马、IAC OKWAP、IAC OKWAP移动通信、Idea、iKoMo、IM、Imate、i-Mobile、英飞凌、InfoSonics、Innostream、INQ Mobile、Itelco、IXI、KCM、KDDI、KDDI-SonyEricsson、KDDI卡西欧、KDDI-Hitachi、KDDI-Kiocera、KDDI京瓷、KDDI松下、KDDI Pantech、KDDI三洋、KDDI夏普、KDDI-Sonyericson、,KDDI SonyEricsson、KDDI Toshiba、Kejian、Kisen、Klondike、KONKA、Kozi、KPT、K-Touch、京瓷、京瓷无线公司、LCT、联想、联想移动、Lexibook、雷克萨斯、LG、LG电子、LGE、龙虾、Longcos、LT、LXE、M3 Gate、Malata、毛伊岛通用、Maxon、Medion、MicroMax、微软、MIO、MIO技术、Miracle、Miracle、MiTAC、MiTAC、三菱、移动无线集团、MOBISTEL、Modelabs、,ModelLabs、Modottel、Modu、MOMO Design、Morange、摩托罗拉、Myphone、NEC、Neonode、Newgen、Nexian、任天堂、诺基亚、Novarra、NTT DoCoMo、NTT DoCoMo FOMA 3G、O2、ONDA、Openwave、Opera、Optimay、Orange、Palm、PalmOne、松下、熊猫、Pantech、PCD、飞利浦、PhoneOne、Pirelli Arcor、保时捷设计、Porsher、Poseidon、Psion、QCI、QMobile、Qtek、Raks、Reporo、Research、RIM、Robot、,罗恩、罗孚、RT、萨基姆、萨马特、三星、三洋
    <cfif refindNoCase
        ( 'distinct_keyword|android|blackberry|iphone|ipod|mobile|palm|phone|windows\s+ce'
        , CGI.HTTP_USER_AGENT
        )>
        probably mobile
    </cfif>