Write a piece of code to judge the mobile terminal and jump, but it will not be executed on the mobile terminals of uc, qq, and Sogou, but it can be executed on the mobile browsers of chrome, Xiaomi, and WeChat
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};
}(),
};
if (browser.versions.android || browser.versions.ios || browser.versions.mobile || browser.versions.iPhone||browser.versions.webApp||browser.versions.weixin||browser.versions.qq) {
window.location = 'mobileWeb.html'
}
"SE" judges Sogou, "UBrowser" judges UC, you need to add two, modify "QQBrowser" to judge QQ, and then give it a try
Finally I found out that it turned out to be a sentence of es6 syntax, which was not supported by uc, sogou, and qq browsers, resulting in the error code not being executed. . . After downloading a vConsole debugging tool, the error was displayed on the mobile terminal.
Zhengze can’t match up to Sa. Print out ua and see for yourself where there are no matches. Doesn’t the mobile ua have a simpler mobile keyword? Is it so complicated?