Javascript 从iOS user.agent重定向中排除iPad

Javascript 从iOS user.agent重定向中排除iPad,javascript,redirect,user-agent,tablet,Javascript,Redirect,User Agent,Tablet,我将一个PHP移动设备检测脚本改为JS,工作正常,但我想排除tablet用户代理 if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/android/i)) || (navigator.userAgent.match(/opera mini/i)) || (navigator.use

我将一个PHP移动设备检测脚本改为JS,工作正常,但我想排除tablet用户代理

if ((navigator.userAgent.match(/iPhone/i)) ||
     (navigator.userAgent.match(/iPod/i)) ||
     (navigator.userAgent.match(/android/i)) ||
     (navigator.userAgent.match(/opera mini/i)) ||
     (navigator.userAgent.match(/blackberry/i)) ||
     (navigator.userAgent.match(/(pre\/|palm os|palm|hiptop|avantgo|plucker|xiino|blazer|elaine)/i)) ||
     (navigator.userAgent.match(/(iris|3g_t|windows ce|opera mobi|windows ce; smartphone;|windows ce; iemobile)/i)) /*|| (navigator.userAgent.match(/(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|m881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|s800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|d736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |sonyericsson|samsung|240x|x320|vx10|nokia|sony cmd|motorola|up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|pocket|kindle|mobile|psp|treo)/i))*/)
{
   window.location.replace("http://mymobileoptimisedsite.com");
}

您可以尝试将第一行更改为:

if (!navigator.userAgent.match(/iPad/i) && (navigator.userAgent.match(/iPhone/i)) ||

此外,我同意@Gijs的评论。尝试检测屏幕尺寸和触摸支持,以决定是否重定向(或者更好,制作响应性布局!)。

此脚本当前是否已排除iPad UA字符串?请,请,请,请执行功能检测,而不是这种用户代理匹配。它非常脆弱,无论如何也不可能得到你想要的东西。如果我没有误读的话,它目前错误地识别了Android和Blackberry平板电脑,没有识别出诺基亚手机、Firefox操作系统手机和Windows7/8手机。即使这些公司在你所在的地方没有很大的市场份额,全球的情况也大相径庭,并且不断变化。如果您必须使用UA检测,请在服务器端使用定期更新的完整数据库,如WURFL。@hongaar-看起来是这样,但它会在iPad/2上重定向(iPad 3未经测试)。