【发布时间】:2022-01-17 09:24:19
【问题描述】:
有没有办法自动识别浏览器?例如,我们的网站主要使用 IE 11 并迁移到 MS Edge。但是,有些计算机仍然在 Windows XP 和 Windows7 上,不支持边缘重定向。所以,我想知道是detact浏览器,如果不支持Edge,继续使用IE11。
【问题讨论】:
-
请问您是否有机会检查我的答案?如果您有任何其他问题,我很乐意为您提供帮助。
有没有办法自动识别浏览器?例如,我们的网站主要使用 IE 11 并迁移到 MS Edge。但是,有些计算机仍然在 Windows XP 和 Windows7 上,不支持边缘重定向。所以,我想知道是detact浏览器,如果不支持Edge,继续使用IE11。
【问题讨论】:
如前所述,您可以使用user-agent 来检测您正在使用的浏览器。使用简单的javascript代码来实现这样的功能,一个简单的例子(IE和Edge):
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Edge (based on chromium) detection
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
更多浏览器检测,可以参考this thread中的答案。
【讨论】:
许多浏览器会在其 HTTP 请求中发送一个 User-agent 标头,您的网络服务器(可能还有任何附加在它后面的网络应用程序)都可以读取该标头。
为了说明,如果您按 F12 打开浏览器 devtools,转到网络选项卡,然后浏览或刷新任何网站,您将在那里看到所有 http 连接的列表。单击其中任何一个,您将能够看到传出请求和传入响应(可能包括用户代理)的各个标头
【讨论】: