0

我之前使用附加的代码来检测移动设备,但它不适用于 Windows 8 手机和任何 Surface 版本(出于明显的原因)。我不知道 Windows 8 手机和 Surface 的正确 userAgent。为了能够检测到 Surface 或 Windows 8 手机,需要进行哪些更改?任何帮助将不胜感激 !提前致谢。

function detect() {
var uagent = navigator.userAgent.toLowerCase();
var mobile = false;
var search_strings = [
"iphone",
"ipod",
"ipad",
"series60",
"windows ce",
"windows7phone",
"w7p",
"windows8phone",
"w8p",
"blackberry","
];
for (i in search_strings) {
    if (uagent.search(search_strings[i]) > -1)
        mobile = true;
    }
            return mobile;
}

if (detect()){
    window.location = "mobile";
}
4

1 回答 1

0

用于RegExp搜索User Agent,这涵盖了 99% 的现代设备:

/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Symbian|Opera\sM(obi|ini)|Blazer|Dolfin|Dolphin|UCBrowser/.test(navigator.userAgent);

您也可以使用服务wurfl.io- 它会在 javascript 中返回一个带有标志的对象是否是设备移动设备。它使用wurfl具有数千个已知 UA 的

于 2014-12-17T08:23:46.463 回答