2013年8月5日 星期一

結束toggle()事件,依然有BUG



雖然function中有更改id但是還是會執行$(#ooo).toggle();
且ID會變成nufined;


  1. <html>
  2. <head>
  3. <style type='text/css'>
  4. div { background-color: #dddddd;  width: 60px; margin: 5px; }
  5. </style>
  6. <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.js'></script>
  7. <script type='text/javascript'>
  8. $(function() {
  9.     $("#xxx").live("click", function () { alert("YA!"); });
  10.     $("input:button").attr("id", "ooo");
  11. $("#ooo").toggle(
  12.     function () {
  13.         alert($("input#ooo").attr("id"));
  14. $("body").append("<div id=\"xxx\">XXX</span>");
  15.     },
  16.     function () {
  17.         alert($("input#ooo").attr("id"));
  18.         $("body").append("<div id=\"xxx\">XXX2</span>");
  19.     },
  20.    function () {
  21.     
  22.             alert($("input#ooo").attr("id"));
  23.             $("#ooo").unbind();                                //終止toggle()事件
  24.             $(this).attr("id", "xxxx");                       //更改id內容
  25.             alert($("input").attr("id"));
  26.             $("body").append("<div id=\"xxx\">XXX3</span>");
  27.         }
  28.     );
  29. });
  30. </script>
  31. </head><body>
  32. <input  type="button" value="TEST" />
  33. </body>
  34. </html>
       $("input").attr("disabled", true);    //停用按鈕參數設定

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 */