Win 2003 服务器上 IIS6 下的应用程序使用 BROWSCAP.INI 来检测浏览器和版本,但它尚未更新以检测 IE 9,因此检查浏览器和版本的代码找不到任何内容,并向用户显示一条错误消息,提示他们需要 IE 4 或更高版本。我无法在 MSDN 或网络搜索中找到相关信息。
我确实设法在 IIS 博客上找到一个条目,上面说 IIS7 可以很好地检测 IE8 和 IE9,但该死的是我们仍在运行 IIS6。
有谁有或知道我可以在哪里找到能够检测 IE9 的 BROWSCAP.INI 代码吗?
编辑后添加:顺便说一句,我对 BROWSCAP.INI 的文本做了一些显而易见的添加(例如,添加一个节点,内容如下:
[IE 9.0]
browser=IE
Version=9.0
majorver=#9
minorver=#0
frames=True
tables=True
cookies=True
backgroundsounds=True
vbscript=True
javaapplets=True
javascript=True
ActiveXControls=True
Win16=False
AK=False
SK=False
AOL=False
Update=False
...这并没有什么区别。
进一步编辑并添加:
上述 Web 服务器上运行的是 VBScript 中的经典 ASP 脚本,该脚本使用 MSWC 组件从 IIS 检索用户正在使用的浏览器信息。当用户的浏览器“访问”服务器获取文件时,它会通过“HTTP_USER_AGENT”字符串将此信息传递给 IIS。IIS 使用其 browscap.dll 组件和 browscap.ini 文件解析出相关信息。
一些示例代码:
set objBrowserType = Server.CreateObject("MSWC.BrowserType")
MSWC.BrowserType 传递一个具有许多属性的对象,包括浏览器的身份及其版本,以及其他属性,例如它是否理解 javascript 等。问题是,它无法正确检测 IE 9,这很可能是因为 browscap.ini 文件不包含帮助它这样做所需的相关信息。