2013年8月1日 星期四

瀏覽器版本判斷


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

1
2
3
4
5
6
7
8
.classname{
 
background:blue; /*Firefox等非IE瀏覽器背景變藍色*/
background:red \9; /*IE8 背景變紅色*/
*background:black; /*IE7 背景變黑色*/
_background:orange; /*IE6 背景變橘色*/
 
}

PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//偵測瀏覽器
$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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<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

1
2
3
4
5
6
7
8
9
<%@ page language="java"%>
<%
String userAgent = request.getHeader("user-agent");
%>
<html>
<body>
<%out.print ("USER AGENT IS " +userAgent);%>
</body>
</html>

Note. 以下補充 JSP 可以取得之瀏覽器訊息
1
2
3
4
5
6
7
8
9
10
11
12
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 */


沒有留言:

張貼留言