检测设备是否为iOS

本文翻译自:Detect if device is iOS

I'm wondering if it's possible to detect whether a browser is running on iOS, similar to how you can feature detect with Modernizr (although this is obviously device detection rather than feature detection). 我想知道是否有可能检测浏览器是否在iOS上运行,这与使用Modernizr进行功能检测的方式类似(尽管这显然是设备检测而非功能检测)。

Normally I would favour feature detection instead, but I need to find out whether a device is iOS because of the way they handle videos as per this question YouTube API not working with iPad / iPhone / non-Flash device 通常,我宁愿使用功能检测,但我需要根据该问题确定设备是否为iOS,因为它们处理视频的方式YouTube API不适用于iPad / iPhone /非Flash设备


#1楼

参考:https://stackoom.com/question/bvMH/检测设备是否为iOS


#2楼

有此自定义的Modernizr测试: https : //gist.github.com/855078


#3楼

I wrote this a couple years ago but i believe it still works: 我几年前写了这篇文章,但我相信它仍然有效:

if(navigator.vendor != null && navigator.vendor.match(/Apple Computer, Inc./) && navigator.userAgent.match(/iPhone/i) || (navigator.userAgent.match(/iPod/i))) {alert("Ipod or Iphone");}else if (navigator.vendor != null && navigator.vendor.match(/Apple Computer, Inc./) && navigator.userAgent.match(/iPad/i))  {alert("Ipad");}else if (navigator.vendor != null && navigator.vendor.match(/Apple Computer, Inc./) && navigator.userAgent.indexOf('Safari') != -1){alert("Safari");}else if (navigator.vendor == null || navigator.vendor != null){alert("Not Apple Based Browser");}

#4楼

var isiOSSafari = (navigator.userAgent.match(/like Mac OS X/i)) ? true: false;


#5楼

If you are using Modernizr , you can add a custom test for it. 如果您正在使用Modernizr ,则可以为其添加自定义测试。

It doesn't matter which detection mode you decide to use (userAgent, navigator.vendor or navigator.platform), you can always wrap it up for a easier use later. 决定使用哪种检测模式(userAgent,navigator.vendor或navigator.platform)都没有关系,您随时可以将其包装起来以便以后使用。

//Add Modernizr test
Modernizr.addTest('isios', function() {return navigator.userAgent.match(/(iPad|iPhone|iPod)/g);
});//usage
if (Modernizr.isios) {//this adds ios class to bodyModernizr.prefixed('ios');
} else {//this adds notios class to bodyModernizr.prefixed('notios');
}

#6楼

_iOSDevice变量_iOSDevicetruefalse

_iOSDevice = !!navigator.platform.match(/iPhone|iPod|iPad/);


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部