请教一个问题,网站是如何识别当前浏览器是 edge 而不是 chrome 的?

94 天前
 XIoYi
如题
公司用的 OA ,绑定了 chrome 浏览器,使用其他浏览器是完全打不开的,只有 google chrome 能正常打开并使用,不然就会提示“无法访问”
我以为是 UA 头,用浏览器插件 User-Agent Change 插件修改后还是不行,所以,请教下,这个是怎么实现的?一般有哪些实现方法?
或者有没有什么文档文章什么的推荐下,我自己去看也行~
4125 次点击
所在节点    程序员
34 条回复
GeekGao
94 天前
给你个提示:Chrome 浏览器支持 Speech Recognition API ,Edge 不支持。
xifangczy
94 天前
有没有可能是插件有问题。。虽然求改了请求头。。但是没修改 js 的 window.navigator.userAgent
kemchenj
94 天前
通过 UA 就可以判断了 https://uaparser.dev
Chuckle
94 天前
window.chrome 这个对象,edge 和 chrome 的属性有差异,比如 edge 多了 edgeQuickSearch 等。前端针对性的区分还是很多的办法的,api 和对象多多少少都有差异。
Chuckle
94 天前
@Chuckle 还有 navigator.userAgentData.brands ,可以获取浏览器的信息
fpk5
94 天前
用 API 差异有点不靠谱,哪天 edge 更新了抹平了差异了不是直接抓瞎?
jiangzm
94 天前
肯定是 UA 最方便,甚至包括操作系统和处理器的架构都是可以通过 UA 判断。
用 API 差异判断功能还行,判断浏览器真的人才,不知道 API 支持是会变化的吗?
特殊提供的 API 说不定哪个版本就没了, 不兼容的 API 说不定哪个版本就加上了。判断个屁啊!
gentrydeng
94 天前
https://browserleaks.com/client-hints

Google Chrome:

Sec-CH-UA "Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"

Microsoft Edge:

Sec-CH-UA "Not)A;Brand";v="99", "Microsoft Edge";v="127", "Chromium";v="127"

https://developer.chrome.google.cn/docs/privacy-security/user-agent-client-hints

https://developer.mozilla.org/docs/Web/HTTP/Client_hints
icaolei
94 天前
@beyondstars #15 人家夸你用 AI 用得好,你还在这阴阳怪气的。感觉你更像幼儿园的,心态上。
siweipancc
93 天前
……害怕,我直接拿正则教程网站的套 useragent 没出过问题,你们玩这么花的吗
gorvey
93 天前
@jiangzm 这个没毛病,API 如果不一致运行就有问题,所以才要判断。如果 API 变化支持了,通过了测试,那不就能正常运行了吗
jiangzm
93 天前
@gorvey #31 我不是说了用 API 判断功能可以,没必要用 API 判断浏览器。 你再看看标题?
eoo
92 天前
@beyondstars 你是不懂中文还是怎么滴? 我那句话不礼貌了? 我说“这 AI 回答得真好 ” 回答得真好 回答得真好 回答得真好 回幼儿园重新学中文吧你
mumuy
49 天前
我开源过一个浏览器判断脚本,还挺好用的 https://passer-by.com/browser/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX