Quantcast
Channel: CodeCTO » iOS
Viewing all articles
Browse latest Browse all 3

JS 判断是否 iOS4 以上

$
0
0

在做 iOS 平台前端开发的时候,我遇到了 iOS4 和 iOS5 的 Safari 浏览器在处理某些问题上有些许差异,例如 position: fixed 的问题。如果要使产品在不同版本的系统上都获得更好表现,我们只能先判断系统再进行差异化处理。嗯,今天就说说怎么用 JavaScript 来判断 iOS 的版本好了。

先来观察 iOS 的 User-Agent 串:

iPhone 4.3.2 系统:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
iPone 5.1 系统:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
iPone 5.1.1 系统:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

我们可以从 User-Agent 里发现一些规律:都含有“iPhone”关键词;含有用下划线分隔的系统版本号。嗯,我们可以用这两个规律来分辨出 iOS4 以上的系统。

function gt_iOS4() {
	// 判断是否 iPhone 或者 iPod
	if((navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))) {
		// 判断系统版本号是否大于 4
		return Boolean(navigator.userAgent.match(/OS [5-9]_\d[_\d]* like Mac OS X/i));
	} else {
		return false;
	}
}

Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images