Écrivez un morceau de code pour juger la version mobile et sauter, mais il ne sera pas exécuté sur la version mobile de uc, qq et Sogou, mais il peut être exécuté sur les navigateurs mobiles de chrome, Xiaomi et 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" juge Sogou, "UBrowser" juge UC, vous devez en ajouter deux, modifier "QQBrowser" pour juger QQ, puis essayer
Finalement, j'ai découvert qu'il s'agissait d'une phrase de syntaxe es6, qui n'était pas prise en charge par les navigateurs uc, sogou et qq, ce qui empêchait l'exécution du code d'erreur. . . Après avoir téléchargé un outil de débogage vConsole, l'erreur s'est affichée sur le terminal mobile.
Zhengze ne peut pas rivaliser avec Sa. Imprimez-le et voyez par vous-même où il n'y a pas de correspondance. L'UA mobile n'a-t-il pas un mot-clé mobile plus simple ? Est-ce si compliqué ?