Windows-Server-2003
需要幫助檢測 IE 9 的 BROWSCAP.INI 條目
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 文件。