【发布时间】:2023-03-25 04:45:01
【问题描述】:
我是使用modernizr 的新手,但据我了解它的基本用途,它可以检测浏览器的功能。在这个 SO 帖子中:Request.Browser.Browser in chrome returning "IE" 第一个答案暗示这可以在后面的代码中完成。
string s = "Browser Capabilities\n"
+ "Type = " + browser.Type + "\n"
+ "Name = " + browser.Browser + "\n"
+ "Version = " + browser.Version + "\n"
+ "Major Version = " + browser.MajorVersion + "\n"
+ "Minor Version = " + browser.MinorVersion + "\n"
+ "Platform = " + browser.Platform + "\n"
+ "Is Beta = " + browser.Beta + "\n"
+ "Is Crawler = " + browser.Crawler + "\n"
+ "Is AOL = " + browser.AOL + "\n"
+ "Is Win16 = " + browser.Win16 + "\n"
+ "Is Win32 = " + browser.Win32 + "\n"
+ "Supports Frames = " + browser.Frames + "\n"
+ "Supports Tables = " + browser.Tables + "\n"
+ "Supports Cookies = " + browser.Cookies + "\n"
+ "Supports VBScript = " + browser.VBScript + "\n"
+ "Supports JavaScript = " +
browser.EcmaScriptVersion.ToString() + "\n"
+ "Supports Java Applets = " + browser.JavaApplets + "\n"
+ "Supports ActiveX Controls = " + browser.ActiveXControls
+ "\n"
+ "Supports JavaScript Version = " +
browser["JavaScriptVersion"] + "\n";
这也可以在 Modernizr 中本地完成,或者是否有类似的功能可以完成预期的任务?
更新:澄清一下,这样做的目的是为了能够检测 Internet Explorer 的某些版本号,让用户知道他们正在使用不受支持的浏览器版本,这样他们就不会达到失败是个问题。
【问题讨论】:
-
获取特定版本比听起来更难,部分原因是解析用户代理字符串是执行此操作的“官方”方式,并且多年来一直是varied a great deal。通常,大多数人只是寻找他们需要的功能,如果这些功能不可用,则会显示一条消息。 (另外,用户代理字符串根据“浏览器模式”和其他用户可控制的设置而变化,所以确实不可靠。)
-
@LanceLeonard 感谢您的回复。我发现了一个非现代化的解决方法,但我不想发布答案,因为它与 OP 无关。
标签: javascript internet-explorer modernizr