脚本体验师001 发表于 2022-11-29 11:41:55

各位老师好
想起来一个需求,如何比较精准的判断是PC还是移动端
因为移动端都有桌面模式,ua肯定都是混乱的并且可修改,没法依据这个判断

李恒道 发表于 2022-11-29 11:54:46

脚本体验师001 发表于 2022-11-29 11:41
各位老师好
想起来一个需求,如何比较精准的判断是PC还是移动端
因为移动端都有桌面模式,ua肯定都是混乱的 ...

这个没啥好办法吧
桌面模式已经是为了去模拟电脑端的显示
哥哥如果找到了可以论坛来个贴学习下

cxxjackie 发表于 2022-11-29 20:42:45

脚本体验师001 发表于 2022-11-29 11:41
各位老师好
想起来一个需求,如何比较精准的判断是PC还是移动端
因为移动端都有桌面模式,ua肯定都是混乱的 ...

根据宽高的大小来判断吧:
window.screen.width
移动端这个值会远小于pc端,可以设定一个阙值来判断,其他clientWidth之类的会受到桌面模式影响,这个screen还是比较准确的。
题外话,width其实是可修改的,用户有的是办法绕过检测,不过话说回来,我觉得UA判断就挺好,用户开桌面模式肯定有不想当移动端的理由,你还偏要去检测他,容易招致反感。

脚本体验师001 发表于 2022-11-29 21:16:24

cxxjackie 发表于 2022-11-29 20:42
根据宽高的大小来判断吧:

移动端这个值会远小于pc端,可以设定一个阙值来判断,其他clientWidth之类的 ...

嗯,其实就是要求在桌面模式运行,但和真正的PC有一些不可通用的代码
我发现有些手机桌面模式UA是macOS,又有些浏览器支持随意更改。这可真乱套
如果弹窗让用户选择显得脚本很笨(而且你不能指望他们真的按照事实来选)
觉得应该收集一些特征做判断最好,但这都要长期来验证,不是容易的事
页: 1 [2]
查看完整版本: 大家有什么想要的基础库