文章編號: 272413 - 上次校閱: 2007年8月9日 - 版次: 1.5

如何判斷瀏覽器類型,在伺服器端指令碼中沒有 BrowserType 物件

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

結論

判斷用戶端使用的瀏覽器的相關資訊的伺服器端指令碼中有兩種常見的方法:
  • BrowserType 物件
  • Request.ServerVariables("HTTP_USER_AGENT") 方法
本文將告訴您,Request.ServerVariables("HTTP_USER_AGENT") 方法可提供比 BrowserType 物件瀏覽器的詳細資訊。取得更多資訊有關 BrowserType 物件 (以及使用的用戶端指令碼,以取得瀏覽器資訊) 按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
167820? (http://support.microsoft.com/kb/167820/EN-US/ ) 如何判斷瀏覽器版本從指令碼
重要: 用在本文中的方法依賴接收正確的 HTTP_USER_AGENT"字串,連線到網站的瀏覽器的網站。某些 proxy 伺服器和瀏覽器可能會傳送不正確或難以解譯的資訊。例如預設的 HTTP_USER_AGENT 字串 Opera 5.12 傳回為"Mozilla/4.0 (相容 ; MSIE 5.0; < 作業系統 >) Opera 5.12 [en]"。這個字串是難以解譯因為字串的第一個部分是與 Internet Explorer 5 傳回的字串相同。

如果需要唯一識別 Internet Explorer 5 或更新 (在 Microsoft Win32 和 Unix 平台只) 版本使用 [CLIENTCAPS 行為的 isComponentInstalledgetComponentVersion 方法]。這些方法資訊請參閱下列 Microsoft 網站]:
http://msdn2.microsoft.com/en-us/library/ms531357.aspx (http://msdn2.microsoft.com/en-us/library/ms531357.aspx)

http://msdn2.microsoft.com/en-us/library/ms531350.aspx (http://msdn2.microsoft.com/en-us/library/ms531350.aspx)
注意: 如果用戶端不是 Internet Explorer 5 或更新版本 (Microsoft Win32 和 Unix 平台只),這些方法將會失敗。

其他相關資訊

下列程式碼範例會說明如何使用 Request.ServerVariables("HTTP_USER_AGENT")
<%
   dim UserAgent
	
   UserAgent = Request.ServerVariables("HTTP_USER_AGENT")
   Response.Write "<p>" & UserAgent & "</p>"
	
   if instr(1,UserAgent,"MSIE") > 0 then
      Response.Write "Browser is Internet Explorer"
   else
      if instr(1,UserAgent,"MSPIE") > 0 then
         Response.Write "Browser is Pocket Internet Explorer"
      else
         Response.Write "Browser is not Internet Explorer"
      end if
   end if
%>
				
在 [Microsoft Internet Explorer 5.0,這個程式碼會傳回下列資料或類似:
Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) 

Browser is Internet Explorer
				
這個範例程式碼使用傳回的 Internet Explorer 的字串,但沒有標準的格式為瀏覽器傳回給 HTTP_USER_AGENT 伺服器變數的字串。HTTP_USER_AGENT 的可能值的完整清單是很長,且新的值會新增每次更新瀏覽器。

以下是非常簡短 HTTP_USER_AGENT 值的範例:
   Internet Explorer
     - Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
     - Mozilla/4.0 (compatible; MSIE 4.0 Crawler; Windows 95)

   Netscape Navigator
     - Mozilla/4.0b1 (Win95; I)
     - Mozilla/3.01Gold (Macintosh; U; PPC)
				
到的可能字串的範例,請參閱,搜尋檔案,名為 Browscap.ini,您硬碟上],並在記事本中開啟。Browscap.ini 的 Internet Explorer 和 Netscape 導覽,以及瀏覽器從 Oracle 和 Opera 包含值的清單。您也可以從下列 cyScape 網站下載最新版 Browscap.ini:
http://www.cyscape.com/asp/browscap (http://www.cyscape.com/asp/browscap)
Microsoft 提供協力廠商連絡資訊可協助您尋找技術支援。此連絡人資訊若有變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。

這篇文章中的資訊適用於:
  • Microsoft Visual InterDev 6.0 Standard Edition
  • Microsoft Active Server Pages 4.0
關鍵字:?
kbmt kbaspobj kbcodesnippet kbhowto KB272413 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:272413? (http://support.microsoft.com/kb/272413/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。