我們知道,常見的導航一般就是 <a href="index.php">首頁</a> 這樣的,點擊標籤就轉到下一個頁面。最近在學習Ajax,於是就想到做一個無重新整理的導航來練習一下,操作如下:
建立一個index.html,代碼:
<html><br /><head><br /><title>Yizero Ajax learning</title><br /><meta http-equiv="content-type" content="text/html;charset = utf-8"/><br /><mce:script type="text/javascript"><!--<br />var http_request = false; //執行個體化一個xmlhttp對象,由於IE和其他瀏覽器的差異,需要先判斷使用者的瀏覽器再去執行相應的執行個體化操作<br />if (window.XMLHttpRequest) { // Mozilla, Safari,...<br /> http_request = new XMLHttpRequest();<br /> if (http_request.overrideMimeType) {<br /> http_request.overrideMimeType('text/xml');<br /> }<br />} else if (window.ActiveXObject) { // IE<br /> try {<br /> http_request = new ActiveXObject("Msxml2.XMLHTTP");<br /> } catch (e) {<br /> try {<br /> http_request = new ActiveXObject("Microsoft.XMLHTTP");<br /> } catch (e) {}<br /> }<br />}<br />function makerequest(serverPage,objID){<br /> var obj = document.getElementById(objID); //擷取需要顯示內容的div<br /> http_request.open("GET",serverPage); //以get的方式開啟指定的頁<br /> http_request.onreadystatechange = function(){<br /> if(http_request.readyState == 4 ){ //如果頁面已經完全載入<br /> obj.innerHTML = http_request.responseText; //在指定的div中顯示載入的內容<br /> }<br /> }<br /> http_request.send(null);<br />}<br />// --></mce:script><br /><body onLoad="makerequest('content1.html','hw')"><br /> <div align = "center"><br /> <a href="" onclick = "makerequest('content1.html','hw'); return false;">Page1</a><br /> <a href="" onclick = "makerequest('content2.html','hw'); return false;">page2</a><br /> <a href="" onclick = "makerequest('content3.html','hw'); return false;">page3</a><br /> <a href="" onclick = "makerequest('content4.html','hw'); return false;">page4</a><br /> <div id = "hw"></div><br /></div><br /> </body><br /></html>
然後再建立相應的content1.html,content2.html,content3.html,content4.html最好寫上不同的內容以示區分。
另外需要說明的是,http_request.responseText這個返回的內容是以utf-8編碼的,而如果我們用Dreamweaver去寫html,它預設的是gb2312編碼格式,這樣就會導致亂碼的出現。我們可以手動修改Dreamweaver的編碼格式:修改-->頁面屬性-->標題/編碼-->編碼,然後選擇utf-8即可。
see Yizero by yizero.com