污视频在线观看免费,在线观看一区,中文字幕在线影院http://www.aygfsteel.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簡單實例應用http://www.aygfsteel.com/qiyadeng/articles/19706.htmlqiyadengqiyadengMon, 14 Nov 2005 08:04:00 GMThttp://www.aygfsteel.com/qiyadeng/articles/19706.htmlhttp://www.aygfsteel.com/qiyadeng/comments/19706.htmlhttp://www.aygfsteel.com/qiyadeng/articles/19706.html#Feedback15http://www.aygfsteel.com/qiyadeng/comments/commentRss/19706.htmlhttp://www.aygfsteel.com/qiyadeng/services/trackbacks/19706.htmlAjax就是最近被談論的比較多的東西。其實,在很久以前我在一個項目中就簡單地使用過這種技術,最近在很多地方被提起所以我也全面的學習了這方面的東西。
   很多概念網上都有,我會在下面的資料中列出Ajax相關的資源。下面我們就通過實例來說明Ajax給我們帶來的方便。
我們的例子是通過輸入一個城市的區號,頁面不刷新就能知道該城市名稱。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>


這個例子中我只列出了三個城市,有興趣的朋友可以添加更多。
接下來我們需要完成zip.html文件:
首先我們需要有XMLHttpRequest對象,下面這段代碼就是通用的,每次我們為了得到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;
 }
上面的代碼看上去比較復雜,其實就只是創建XMLHttpRequest對象而已,大部分代碼是為了考慮瀏覽器的兼容性而寫的,看不懂也沒有關系。

然后通過JavaScript的事件觸發了XMLHttpRequest對象去和服務器端進行交互。

 function updateCity(){
  //var zipValue = document.getElementById("zip").value;
  http.open("GET",url,true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
 }
上面這段也可以說是通用的過程,因為需要先Open一個請求,然后看它的狀態來決定接下來該怎么做。可以看出我們接下來要看 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("你所請求的頁面發生異常,可能會影響你瀏覽該頁的信息!");
   }
  }
 }
這段就是我們通過取得的區號代碼去遍歷XML文件直到找到和我們給出的區號代碼相符的,顯示出其城市名。關于xml的遍歷資料中會提到。

資料:
1.http://www.aygfsteel.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("你所請求的頁面發生異常,可能會影響你瀏覽該頁的信息!");
   }
  }
 }
 function updateCity(){
  var zipValue = document.getElementById("zip").value;
  http.open("GET",url,true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
 }
 
 //該函數可以創建我們需要的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>
 區號:
 <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 發表評論
]]>
DWR Samplehttp://www.aygfsteel.com/qiyadeng/articles/16469.htmlqiyadengqiyadengSun, 23 Oct 2005 03:52:00 GMThttp://www.aygfsteel.com/qiyadeng/articles/16469.htmlhttp://www.aygfsteel.com/qiyadeng/comments/16469.htmlhttp://www.aygfsteel.com/qiyadeng/articles/16469.html#Feedback0http://www.aygfsteel.com/qiyadeng/comments/commentRss/16469.htmlhttp://www.aygfsteel.com/qiyadeng/services/trackbacks/16469.html一個Ajax Projecthttp://getahead.ltd.uk/dwr/,DWR,就是有點像遠程方法調用,但是它的文檔里強調過,這個遠程方法的調用是安全的,所有安全問題應該不需要擔心。

下面測試個簡單的例子,算是開始。這個例子是來自它的文檔的一篇文章,主要是實現一個類似聊天室的東西,有個輸入文本框,還要個顯示部分。用戶輸入的信息點擊發送就可以把消息顯示到顯示區域,當然是不需要刷新的^_^。
1、先到DWR網站去下載個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>

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

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


這個文件描述的服務器端的類Chat和JavaBean,Message。

4、對應的服務器類文件:
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、在前端頁面調用:

<!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="發言" 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> 是動態產生的js文件,另外兩個util.js,engine.js是兩個javascript庫文件。

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



qiyadeng 2005-10-23 11:52 發表評論
]]>
some AJAX Projecthttp://www.aygfsteel.com/qiyadeng/articles/16449.htmlqiyadengqiyadengSat, 22 Oct 2005 14:32:00 GMThttp://www.aygfsteel.com/qiyadeng/articles/16449.htmlhttp://www.aygfsteel.com/qiyadeng/comments/16449.htmlhttp://www.aygfsteel.com/qiyadeng/articles/16449.html#Feedback0http://www.aygfsteel.com/qiyadeng/comments/commentRss/16449.htmlhttp://www.aygfsteel.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 發表評論
]]>
javascript自動關閉瀏覽器http://www.aygfsteel.com/qiyadeng/articles/14142.htmlqiyadengqiyadengMon, 26 Sep 2005 12:57:00 GMThttp://www.aygfsteel.com/qiyadeng/articles/14142.htmlhttp://www.aygfsteel.com/qiyadeng/comments/14142.htmlhttp://www.aygfsteel.com/qiyadeng/articles/14142.html#Feedback0http://www.aygfsteel.com/qiyadeng/comments/commentRss/14142.htmlhttp://www.aygfsteel.com/qiyadeng/services/trackbacks/14142.html

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

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

程序很簡單,就是3秒鐘自動關閉瀏覽器,不用解釋^_^!



qiyadeng 2005-09-26 20:57 發表評論
]]>
主站蜘蛛池模板: 中卫市| 中阳县| 济宁市| 平阴县| 吴江市| 凤庆县| 芒康县| 盐边县| 元阳县| 榆中县| 册亨县| 博罗县| 镇远县| 庄浪县| 石台县| 铜山县| 聂拉木县| 六枝特区| 东台市| 田林县| 舒兰市| 衡南县| 怀柔区| 安达市| 栾川县| 赫章县| 满城县| 淮安市| 宜城市| 个旧市| 东乡族自治县| 江北区| 临夏市| 宣武区| 定襄县| 大兴区| 勐海县| 沂南县| 舒兰市| 云林县| 红河县|