Tweet |
|
本篇文章紀錄判斷瀏覽器版本的方式
HTML
<!--[if IE 6]> 僅IE6可識別 <![endif]–>
<!--[if lte IE 6]> IE6及其以下版本可識別<![endif]–>
<!--[if lt IE 6]> IE6以下版本可識別<![endif]–>
<!--[if gte IE 6]> IE6及其以上版本可識別<![endif]–>
<!--[if gt IE 6]> IE6以上版本可識別<![endif]–>
<!--[if IE]> 所有的IE可識別 <![endif]–>
ps.
lte:Less than or equal to,小於或等於的意思。
lt :Less than的簡寫,小於的意思。
gte:Greater than or equal to的簡寫,大於或等於的意思。
gt :Greater than的簡寫,大於的意思。
! :不等於的意思
CSS
.classname{ background:blue; /*Firefox等非IE瀏覽器背景變藍色*/ background:red \9; /*IE8 背景變紅色*/ *background:black; /*IE7 背景變黑色*/ _background:orange; /*IE6 背景變橘色*/ }
PHP
//偵測瀏覽器 $agent = $_SERVER['HTTP_USER_AGENT']; if(strpos($agent,"MSIE 8.0")) echo "Internet Explorer 8.0"; else if(strpos($agent,"MSIE 7.0")) echo "Internet Explorer 7.0"; else if(strpos($agent,"MSIE 6.0")) echo "Internet Explorer 6.0"; else if(strpos($agent,"Firefox/3")) echo "Firefox 3"; else if(strpos($agent,"Firefox/2")) echo "Firefox 2"; else if(strpos($agent,"Chrome")) echo "Google Chrome"; else if(strpos($agent,"Safari")) echo "Safari"; else if(strpos($agent,"Opera")) echo "Opera"; else echo $agent;
JavaScript
<script type="text/javascript"> var isIE = navigator.userAgent.search("MSIE") > -1; var isIE7 = navigator.userAgent.search("MSIE 7") > -1; var isFirefox = navigator.userAgent.search("Firefox") > -1; var isOpera = navigator.userAgent.search("Opera") > -1; var isSafari = navigator.userAgent.search("Safari") > -1;//Google瀏覽器是用這核心 if (isIE7) { alert('isIE7'); } if (isIE) { alert('isIE'); } if (isFirefox) { alert('isFirefox'); } if (isOpera) { alert('isOpera'); } if (isSafari) { alert('isSafari or Chrome'); } </script>
JSP
<%@ page language="java"%> <% String userAgent = request.getHeader("user-agent"); %> <html> <body> <%out.print ("USER AGENT IS " +userAgent);%> </body> </html>
Note. 以下補充 JSP 可以取得之瀏覽器訊息
request.getHeader(“User-agent”) ; /*取得客戶端瀏覽器的版本號、類型*/ getHeader(String name); /*取得http協議定義的傳送文件頭信息 */ request. getMethod(); /*取得客戶端向服務器端傳送數據的方法有GET、POST、PUT等類型 */ request. getRequestURI(); /*取得發出請求字符串的客戶端地址 */ request. getServletPath(); /*取得客戶端所請求的腳本文件的文件路徑 */ request. getServerName(); /*取得服務器的名字 */ request.getServerPort(); /*取得服務器的端口號 */ request.getRemoteAddr(); /*取得客戶端的IP地址 */ request.getRemoteHost(); /*取得客戶端電腦的名字,若失敗,則返回客戶端電腦的IP地址*/ request.getProtocol(); /* 取得客戶端電腦的 Protocal */ request.getHeaderNames(); /*取得所有request header的名字,結果集是一個Enumeration(枚舉)類的實例 */ request.getHeaders(String name); /*取得指定名字的request */
