JavaScript 设备检测与页面跳转代码解析
<script>
var system = {};
var p = navigator.platform;
var u = navigator.userAgent;
system.win = p.indexOf('Win') == 0;
system.mac = p.indexOf('Mac') == 0;
system.x11 = (p == 'X11') || (p.indexOf('Linux') == 0);
if (system.win || system.mac || system.x11) {
//如果是PC转
if (u.indexOf('Windows Phone') > -1) { //win手机端
} else {
window.location.href = 'http://baidu.com';
}
}
</SCRIPT>
<script>
var ua = navigator.userAgent.toLowerCase(); //获取判断用的对象
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
//在微信中打开
wxqqlanjie()
} else if (ua.match(/QQ/i) == 'qq') {
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
wxqqlanjie()
}else{
if (ua.match(/Tbs/i) == 'tbs') {
wxqqlanjie()
}else
{
window.location.href='http://baidu.com';
}
}
}else
{
window.location.href='http://baidu.com';
}
</script>
<p>这段代码是用来判断用户设备并进行页面跳转的。</p>
<p>首先,通过获取 <code>navigator.platform</code> 和 <code>navigator.userAgent</code> 来判断用户设备的操作系统类型和浏览器类型。</p>
<p>然后,如果用户设备是 PC,就判断是否为 Windows Phone 手机端,如果是,则不进行页面跳转,否则跳转到百度页面。</p>
<p>接着,通过判断 <code>userAgent</code> 中是否包含微信和 QQ 关键词来判断是否在微信或 QQ 中打开页面,并分别进行处理。如果是在微信中打开,则调用 <code>wxqqlanjie()</code> 函数。如果是在 QQ 中打开,则判断是否为 iOS 设备,如果是,则也调用 <code>wxqqlanjie()</code> 函数。如果不是 iOS 设备,则再判断是否为 QQ 浏览器 TBS 内核,如果是,则也调用 <code>wxqqlanjie()</code> 函数。如果不是 TBS 内核,则跳转到百度页面。</p>
<p>最后,如果不是在微信或 QQ 中打开,则直接跳转到百度页面。</p>
原文地址: https://www.cveoy.top/t/topic/oUfh 著作权归作者所有。请勿转载和采集!