varnish判断
if (req.http.User-Agent ~ "Mobile" || req.http.User-Agent ~ "Nokia" || req.http.User-Agent ~ "SAMSUNG" || req.http.User-Agent ~ "SonyEricsson" || req.http.User-Agent ~ "MOT" || req.http.User-Agent ~ "BlackBerry" || req.http.User-Agent ~ "LG" || req.http.User-Agent ~ "HTC" || req.http.User-Agent ~ "J2ME" || req.http.User-Agent ~ "Opera Mini" || req.http.User-Agent ~ "UCWEB" ) { set req.http.internal.isMobile = "true"; }
js判断
var os = {},userAgent = window.navigator.userAgent; os.Mobile = userAgent.match(/Mobile/) ? true : false; os.Nokia = userAgent.match(/Nokia/) ? true : false; os.SAMSUNG = userAgent.match(/SAMSUNG/) ? true : false; os.SonyEricsson = userAgent.match(/SonyEricsson/) ? true : false; os.MOT = userAgent.match(/MOT/) ? true : false; os.BlackBerry = userAgent.match(/BlackBerry/) ? true : false; os.LG = userAgent.match(/LG/) ? true : false; os.HTC = userAgent.match(/HTC/) ? true : false; os.OperaMini = userAgent.match(/Opera Mini/) ? true : false; os.UCWEB = userAgent.match(/UCWEB/) ? true : false; os.isMobile = os.Mobile || os.Nokia || os.SAMSUNG || os.SonyEricsson || os.MOT || os.BlackBerry || os.LG || os.HTC || os.OperaMini || os.UCWEB; os.desktop = !os.isMobile; if(mobileUrl && os.isMobile){ window.location.href = mobileUrl; }
参考js判断
var os = {},userAgent = window.navigator.userAgent,isToM; os.webkit = userAgent.match(/WebKit/([d.]+)/) ? true : false; os.webkit = userAgent.match(/WebKit/([d.]+)/) ? true : false; os.android = userAgent.match(/(Android)s+([d.]+)/) || userAgent.match(/Silk-Accelerated/) ? true : false; os.androidICS = os.android && userAgent.match(/(Android)s4/) ? true : false; os.ipad = userAgent.match(/(iPad).*OSs([d_]+)/) ? true : false; os.ipod = userAgent.match(/(iPod).*OSs([d_]+)/) ? true : false; os.iphone = !os.ipad && userAgent.match(/(iPhonesOS)s([d_]+)/) ? true : false; os.webos = userAgent.match(/(webOS|hpwOS)[s/]([d.]+)/) ? true : false; os.touchpad = os.webos && userAgent.match(/TouchPad/) ? true : false; os.ios = os.ipad || os.iphone; os.ios6 = os.ios && userAgent.match(/(OS)s([6])/) ? true : false; os.playbook = userAgent.match(/PlayBook/) ? true : false; os.blackberry = os.playbook || userAgent.match(/BlackBerry/) ? true : false; os.blackberry10 = os.blackberry && userAgent.match(/Safari/536/) ? true : false; os.chrome = userAgent.match(/Chrome/) ? true : false; os.opera = userAgent.match(/Opera Mobi/) ? true : false; os.fennec = userAgent.match(/fennec/i) ? true : false; os.supportsTouch = ((window.DocumentTouch && document instanceof window.DocumentTouch) || 'ontouchstart' in window); os.desktop = !(os.ios || os.android || os.blackberry || os.opera || os.fennec || os.supportsTouch); if(mobileUrl && (os.ipod || os.iphone || os.android)){ window.location.href = mobileUrl; }