百度是通过什么去判断用户浏览设备?

偶尔机会发现:

clipboard.png

这样进去百度,刚进去的时候,是手机版

clipboard.png

但是页面加载完成之后

clipboard.png

我想知道,

它是通过什么依据,判断用户是通过开发者模式模拟的手机浏览

通过navigator.userAgent 不能识别谷歌浏览器的伪造
clipboard.png

clipboard.png

阅读 3.7k
3 个回答

navigator.userAgent 对象提供的信息来判断

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"

User Agent String。

User Agent就是用户代理,也就是访问服务的程序,在这个例子里是浏览器,当然用户代理不光浏览器。

用户代理会给服务器发送一个头信息(你可以切换到浏览器开发工具的网络面板来看每个请求,头信息中的User-Agent就是),来表明自己是什么用户代理。服务器可以根据这个头信息来发送不同的内容。

另一个答案中说的是通过JS来获取User Agent的方法。

navigator.platform(navigator.userAgent会被浏览器伪造)
不管浏览器是否开启开发者模式,这玩意都不会变,电脑打开,他是'win32',安卓手机打开他是"Linux armv8l",iphone打开他是(这个没有测试)。
可以用这个识别浏览器是否开启开发者模式。
(不知道是否正确,但是可行)

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题