场景需求
在一些特殊情况下,我们需要在不同的设备上加载不同的网页样式,比如说在移动端隐藏掉百度的通栏广告。这个时候就需要获取当前设备的具体类型了,我们可以通过以下原生JS来实现:
代码
<script>
var os = function (){
var ua = navigator.userAgent,
isWindowsPhone = /(?:Windows Phone)/.test(ua),
isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,
isAndroid = /(?:Android)/.test(ua),
isFireFox = /(?:Firefox)/.test(ua),
isChrome = /(?:Chrome|CriOS)/.test(ua),
isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),
isPhone = /(?:iPhone)/.test(ua) && !isTablet,
isPc = !isPhone && !isAndroid && !isSymbian;
return {
isTablet: isTablet,
isPhone: isPhone,
isAndroid: isAndroid,
isPc: isPc
};
}();
if (os.isAndroid || os.isPhone) {
// 手机
alert("当前是手机打开")
} else if (os.isTablet) {
// 平板
alert("当前是平板打开")
} else if (os.isPc) {
// pc
alert("当前是pc打开")
}
</script>
通过以上代码,我们可以很好的控制对应设备上展现的具体内容。
想问大佬一个问题,浏览器是怎么区分安卓系统的手机和安卓系统的平板?