Windows-Server-2003

需要幫助檢測 IE 9 的 BROWSCAP.INI 條目

  • November 15, 2011

Win 2003 伺服器上 IIS6 下的應用程序使用 BROWSCAP.INI 來檢測瀏覽器和版本,但它尚未更新以檢測 IE 9,因此檢查瀏覽器和版本的程式碼找不到任何內容並顯示錯誤消息向使用者表明他們需要 IE 4 或更高版本。我一直無法在 MSDN 或網路搜尋中找到相關資訊。

我確實設法在 IIS 部落格上找到一個條目,說 IIS7 檢測到 IE8 和 IE9 都很好,但該死的,我們仍在執行 IIS6。

有誰知道或知道在哪裡可以找到 BROWSCAP.INI 的程式碼,它可以檢測 IE9?

**編輯添加:**順便說一句,我對 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 文件不包含幫助它執行此操作所需的相關資訊。

有一個相當不錯的網站在這里維護最新的 browscap.ini 文件。

對於其他搜尋此類事物的人來說,值得一提的是,他們向drupal提供數據並被執行 php 項目的人員引用

引用自:https://serverfault.com/questions/331261