JS使用navigator.platform硬核判断移动端和PC端,调试器也判断

我之前发的一些JS或PHP判断用户浏览器或操作系统都是用navigator.userAgent标识头来判断,但如果PC端浏览器打开控制台开发者模式时可以通过模拟设备来改变成安卓手机或苹果手机端,这样userAgent也会随之改变,当然如果你直接通过添加阻止用户打开控制台的代码(JS禁止用户打开调试,判断用户浏览器进入开发者模式并跳转-雪哥尔 (xulgr.com))也可以,但navigator还有一个platform属性,它是一个只读的字符串,声明了用户当前运行浏览器的操作系统或硬件平台,通过这个属性我们可以直接判断是否为PC端(因为PC端操作系统比较好辨别)即使用户是通过调试模式下的模拟设备打开的也可以判断为PC端。

//通过判断操作系统判断PC端
function XulgrPlatformisPC(){
    var system ={
        win : false,
        mac : false,
        xll : false
    };
    var p = navigator.platform;
    system.win = p.indexOf("Win") == 0;
    system.mac = p.indexOf("Mac") == 0;
    system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
    return system.win||system.mac||system.xll ? true : false;
}

if(XulgrPlatformisPC()){
	alert('当前为PC端');
} else {
	alert('当前为移动端');
}

 

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享