亚洲国产精品日韩在线观看,亚洲男女内射在线播放,精品久久香蕉国产线看观看亚洲http://m.tkk7.com/qiyadeng/category/3464.htmlif(log.itWillForget()){ <br>&nbsp;&nbsp; log.blog("log4deng!"); <br> }<br> else if(log.isYourExperience){ <br>&nbsp;&nbsp; log.blog("log4deng!"); <br> }<br> ......zh-cnWed, 28 Feb 2007 05:24:49 GMTWed, 28 Feb 2007 05:24:49 GMT60Ajax簡單實(shí)例應(yīng)用http://m.tkk7.com/qiyadeng/articles/19706.htmlqiyadengqiyadengMon, 14 Nov 2005 08:04:00 GMThttp://m.tkk7.com/qiyadeng/articles/19706.htmlhttp://m.tkk7.com/qiyadeng/comments/19706.htmlhttp://m.tkk7.com/qiyadeng/articles/19706.html#Feedback15http://m.tkk7.com/qiyadeng/comments/commentRss/19706.htmlhttp://m.tkk7.com/qiyadeng/services/trackbacks/19706.htmlAjax就是最近被談?wù)摰谋容^多的東西。其實(shí),在很久以前我在一個(gè)項(xiàng)目中就簡單地使用過這種技術(shù),最近在很多地方被提起所以我也全面的學(xué)習(xí)了這方面的東西。
   很多概念網(wǎng)上都有,我會在下面的資料中列出Ajax相關(guān)的資源。下面我們就通過實(shí)例來說明Ajax給我們帶來的方便。
我們的例子是通過輸入一個(gè)城市的區(qū)號,頁面不刷新就能知道該城市名稱。zip.bmp
Demo
第一步:完成本例用到的xml文件zip.xml.

<?xml version="1.0" encoding="UTF-8"?>
<root>
 <item id="001">
  <zip>021</zip>
  <city>上海</city>
 </item>

 <item id="002">
  <zip>010</zip>
  <city>北京</city>
 </item>
 
 <item id="003">
  <zip>020</zip>
  <city>天津</city>
 </item>
  
</root>


這個(gè)例子中我只列出了三個(gè)城市,有興趣的朋友可以添加更多。
接下來我們需要完成zip.html文件:
首先我們需要有XMLHttpRequest對象,下面這段代碼就是通用的,每次我們?yōu)榱说玫絏MLHttpRequest對象都要這么做,而且一般不需要改變!

 function getHTTPObject(){
  var xmlhttp = false;
  if(window.XMLHttpRequest){
   xmlhttp = new XMLHttpRequest();
   if(xmlhttp.overrideMimeType){
    xmlhttp.overrideMimeType('text/xml');
   }
  }
  else{
   try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }catch(e){
    try{
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(E){
     xmlhttp = false;
    }
   }
  }
  return xmlhttp;
 }
上面的代碼看上去比較復(fù)雜,其實(shí)就只是創(chuàng)建XMLHttpRequest對象而已,大部分代碼是為了考慮瀏覽器的兼容性而寫的,看不懂也沒有關(guān)系。

然后通過JavaScript的事件觸發(fā)了XMLHttpRequest對象去和服務(wù)器端進(jìn)行交互。

 function updateCity(){
  //var zipValue = document.getElementById("zip").value;
  http.open("GET",url,true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
 }
上面這段也可以說是通用的過程,因?yàn)樾枰萇pen一個(gè)請求,然后看它的狀態(tài)來決定接下來該怎么做??梢钥闯鑫覀兘酉聛硪?handleHttpResponse。

 function handleHttpResponse(){
  if(http.readyState == 4){
   if(http.status == 200){
    var xmlDocument = http.responseXML;
    var city = "未知城市";
    var zipval = document.getElementById("zip").value;
    var items = xmlDocument.getElementsByTagName('item');
    for(var i = 0;i < items.length;i++){
     var item = items[i];
     if(item.getElementsByTagName('zip')[0].firstChild.data == zipval){
      city = item.getElementsByTagName('city')[0].firstChild.data;
      document.getElementById('city').value=city;
      return;
     }
    }
    document.getElementById('city').value=city;
   }
   else{
    alert("你所請求的頁面發(fā)生異常,可能會影響你瀏覽該頁的信息!");
   }
  }
 }
這段就是我們通過取得的區(qū)號代碼去遍歷XML文件直到找到和我們給出的區(qū)號代碼相符的,顯示出其城市名。關(guān)于xml的遍歷資料中會提到。

資料:
1.http://m.tkk7.com/eamoi/category/4158.html
2.http://developer.mozilla.org/en/docs/AJAX
附帶zip.xml的完整代碼:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Zip.html</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<SCRIPT language="JavaScript" type="text/javaScript">
 var url = "zip.xml";
 
 function handleHttpResponse(){
  if(http.readyState == 4){
   if(http.status == 200){
    var xmlDocument = http.responseXML;
    var city = "未知城市";
    var zipval = document.getElementById("zip").value;
    var items = xmlDocument.getElementsByTagName('item');
    for(var i = 0;i < items.length;i++){
     var item = items[i];
     if(item.getElementsByTagName('zip')[0].firstChild.data == zipval){
      city = item.getElementsByTagName('city')[0].firstChild.data;
      document.getElementById('city').value=city;
      return;
     }
    }
    document.getElementById('city').value=city;
   }
   else{
    alert("你所請求的頁面發(fā)生異常,可能會影響你瀏覽該頁的信息!");
   }
  }
 }
 function updateCity(){
  var zipValue = document.getElementById("zip").value;
  http.open("GET",url,true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
 }
 
 //該函數(shù)可以創(chuàng)建我們需要的XMLHttpRequest對象
 function getHTTPObject(){
  var xmlhttp = false;
  if(window.XMLHttpRequest){
   xmlhttp = new XMLHttpRequest();
   if(xmlhttp.overrideMimeType){
    xmlhttp.overrideMimeType('text/xml');
   }
  }
  else{
   try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }catch(e){
    try{
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(E){
     xmlhttp = false;
    }
   }
  }
  return xmlhttp;
 }
 var http = getHTTPObject();
</SCRIPT>
</head>

<body>
<form action="post">
 <p>
 區(qū)號:
 <input type="text" size="6" name="zip" id="zip" onblur="updateCity();"/>
 </p>
 城市:
 <input type="text" name="city" id="city" />
</form>

</body>
</html>



qiyadeng 2005-11-14 16:04 發(fā)表評論
]]>
DWR Samplehttp://m.tkk7.com/qiyadeng/articles/16469.htmlqiyadengqiyadengSun, 23 Oct 2005 03:52:00 GMThttp://m.tkk7.com/qiyadeng/articles/16469.htmlhttp://m.tkk7.com/qiyadeng/comments/16469.htmlhttp://m.tkk7.com/qiyadeng/articles/16469.html#Feedback0http://m.tkk7.com/qiyadeng/comments/commentRss/16469.htmlhttp://m.tkk7.com/qiyadeng/services/trackbacks/16469.html一個(gè)Ajax Projecthttp://getahead.ltd.uk/dwr/,DWR,就是有點(diǎn)像遠(yuǎn)程方法調(diào)用,但是它的文檔里強(qiáng)調(diào)過,這個(gè)遠(yuǎn)程方法的調(diào)用是安全的,所有安全問題應(yīng)該不需要擔(dān)心。

下面測試個(gè)簡單的例子,算是開始。這個(gè)例子是來自它的文檔的一篇文章,主要是實(shí)現(xiàn)一個(gè)類似聊天室的東西,有個(gè)輸入文本框,還要個(gè)顯示部分。用戶輸入的信息點(diǎn)擊發(fā)送就可以把消息顯示到顯示區(qū)域,當(dāng)然是不需要刷新的^_^。
1、先到DWR網(wǎng)站去下載個(gè)jar包dwr.jar,地址是:http://getahead.ltd.uk/dwr/download,并把該包放到自己的webproject的WEB-INF/lib目錄下。
2、然后修改配置文件web.xml把加入如下信息:


 <servlet>
  <display-name>DWR Servlet</display-name>
  <servlet-name>dwr-invoker</servlet-name>
  <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
  <init-param>
   <param-name>debug</param-name>
   <param-value>true</param-value>
  </init-param>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
 </servlet-mapping>

這個(gè)應(yīng)該和我們其他的app配置沒什么兩樣的。
3、配置DWR專門的配置文件dwr.xml(放到和web.xml一個(gè)目錄下),這個(gè)文件就是部署你可以被調(diào)用的遠(yuǎn)程的方法和類。

<dwr>
  <allow>
    <create creator="new" javascript="Chat">
     <param name="class" value="com.motel168.chat.Chat"></param>
    </create>
    <convert converter="bean" match="com.motel168.chat.Message"/>
  </allow>
</dwr>


這個(gè)文件描述的服務(wù)器端的類Chat和JavaBean,Message。

4、對應(yīng)的服務(wù)器類文件:
Chat.java
package com.motel168.chat;

import java.util.LinkedList;
import java.util.List;

public class Chat {
 static LinkedList messages = new LinkedList();
 public List addMessage(String text){
  if(text != null && text.trim().length()>0){
   messages.addFirst(new Message(text));
   while(messages.size() > 10){
    messages.removeLast();
   }
  }
  return messages;
 }
 public List getMessages(){
  return messages;
 }


}
Message.java
package com.motel168.chat;

public class Message {
 long id = System.currentTimeMillis();
 String text;
 
 public Message(String newtext){
  text = newtext;
  if(text.length()>256){
   text = text.substring(0,256);
  }
  text = text.replace('<','[');
  text = text.replace('&','_');
 }
 public long getId(){
  return id;
 }
 public String getText(){
  return text;
 }
}

5、在前端頁面調(diào)用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<script type='text/javascript' src='/DWR/dwr/interface/Chat.js'></script>
<script type='text/javascript' src='/DWR/dwr/engine.js'></script>
<script type='text/javascript' src='/DWR/dwr/util.js'></script>

  <head>
    <title>chat.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
 
  <body>
 <P>聊天記錄:</P>
 <DIV id="chatlog"></DIV>
 <p>
 請輸入信息:<INPUT id="text"/>
 <INPUT type="button" value="發(fā)言" onclick="sendMessage()"/>
  </body>
</html>
<script language="javascript">
 function sendMessage(){
  var text = DWRUtil.getValue("text");
  DWRUtil.setValue("text","");
  Chat.addMessage(gotMessages,text);
 }
 function gotMessages(messages)
 {
     var chatlog = "";
     for (var data in messages)
     {
         chatlog = "<div>" + messages[data].text +
             "</div>" + chatlog;
     }
     DWRUtil.setValue("chatlog", chatlog);
 }
</script>

<script type='text/javascript' src='/DWR/dwr/interface/Chat.js'></script> 是動(dòng)態(tài)產(chǎn)生的js文件,另外兩個(gè)util.js,engine.js是兩個(gè)javascript庫文件。

后面有個(gè)DWRUtil類可以參考對應(yīng)的文檔。
最后應(yīng)該是類似下面這個(gè)效果:
dwrsample.bmp



qiyadeng 2005-10-23 11:52 發(fā)表評論
]]>
some AJAX Projecthttp://m.tkk7.com/qiyadeng/articles/16449.htmlqiyadengqiyadengSat, 22 Oct 2005 14:32:00 GMThttp://m.tkk7.com/qiyadeng/articles/16449.htmlhttp://m.tkk7.com/qiyadeng/comments/16449.htmlhttp://m.tkk7.com/qiyadeng/articles/16449.html#Feedback0http://m.tkk7.com/qiyadeng/comments/commentRss/16449.htmlhttp://m.tkk7.com/qiyadeng/services/trackbacks/16449.html
http://trimpath.com/project/wiki/JavaScriptTemplates

Ajax pages:
http://ajax-pages.sourceforge.net/

Mochikit:
http://mochikit.com/

DWR
http://getahead.ltd.uk/dwr/

Ajaxanywhere
http://ajaxanywhere.sourceforge.net


qiyadeng 2005-10-22 22:32 發(fā)表評論
]]>
javascript自動(dòng)關(guān)閉瀏覽器http://m.tkk7.com/qiyadeng/articles/14142.htmlqiyadengqiyadengMon, 26 Sep 2005 12:57:00 GMThttp://m.tkk7.com/qiyadeng/articles/14142.htmlhttp://m.tkk7.com/qiyadeng/comments/14142.htmlhttp://m.tkk7.com/qiyadeng/articles/14142.html#Feedback0http://m.tkk7.com/qiyadeng/comments/commentRss/14142.htmlhttp://m.tkk7.com/qiyadeng/services/trackbacks/14142.html

今天碰到個(gè)簡單問題,但是找了半天資料才算解決,自動(dòng)關(guān)閉瀏覽器一直有對話框彈出。看了網(wǎng)上也有不少人有這個(gè)困惑,所以整理一下:

<script language="javascript">
function countdown()
{
 window.opener=null;//沒有對話框,這句不可缺少
 window.close();
 }
setTimeout("countdown()",3000);
</script>

程序很簡單,就是3秒鐘自動(dòng)關(guān)閉瀏覽器,不用解釋^_^!



qiyadeng 2005-09-26 20:57 發(fā)表評論
]]>
主站蜘蛛池模板: 永久亚洲成a人片777777| 成人人观看的免费毛片| 亚洲情综合五月天| 五级黄18以上免费看| 亚洲色大成网站www尤物| 皇色在线视频免费网站| 国产v片免费播放| 久久久久亚洲国产AV麻豆| 免费无遮挡无码视频网站| 亚洲精品久久无码| 最近中文字幕完整免费视频ww| 亚洲毛片在线观看| 亚洲欧美在线x视频| 99国产精品免费观看视频| 亚洲性天天干天天摸| 亚洲人成网站日本片| 国产成人无码区免费内射一片色欲 | 最近免费中文字幕MV在线视频3| 亚洲精品无码av人在线观看 | 久久亚洲精品国产精品| 啦啦啦中文在线观看电视剧免费版 | 自拍偷自拍亚洲精品播放| 精品国产日韩亚洲一区| 久久免费视频观看| 亚洲国产成人91精品| 国产高清在线免费| 中文在线观看永久免费| 亚洲av无码电影网| 亚洲福利精品一区二区三区| 亚洲伊人久久大香线蕉AV| 免费va在线观看| 免费黄网站在线观看| 一本天堂ⅴ无码亚洲道久久| 亚洲精品国产综合久久一线| 免费视频成人片在线观看| 亚洲精品又粗又大又爽A片| 国产亚洲AV夜间福利香蕉149| 57pao一国产成视频永久免费| 久久人午夜亚洲精品无码区| 亚洲国产精品免费视频| 免费**毛片在线播放直播|