在網上有很多相關主題的討論,但是一般都是用Iframe和XMLHTTP來實現。
Iframe的實現可能是最常看到的。很多論壇和聊天室的無重新整理效果都是用這個實現的。但是這個方法還是可以在IE的狀態列上看到下載資料的進度條,而且有重新整理資料時電腦發出的聲音,本質上不能屬於真正的無重新整理技術。
XMLHTTP相信也有很多人用過,但是出於對瀏覽器的相容性要求,還有很多網友的瀏覽器屏蔽了對控制項的支援,使得XMLHTTP在用戶端的應用顯得比較蒼白無力了。一般都是在伺服器端應用得比較多。
現在開始說說我自己的思路吧:
剛開始我也是用Iframe來實現的,但是一聽到那個討厭的重新整理聲,心裡就不是滋味,於是我想,既然Iframe可以通過改變它的src屬性,那JS也可以啊,而且JS請求跟Iframe的請求方式是不一樣的,至少在重新整理效果是不一樣的。所以我就開始從這個念頭入手。現在給出代碼讓大家參考。
程式碼:
Code: [Copy to clipboard]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript" type="text/javascript">
<!--關鍵在這個函數-->
function GetData(url)
{
try
{
DataLoad.src = url;
}
catch(e)
{
return false;
}
}
</script>
<script id="DataLoad" language="javascript" type="text/javascript" defer></script>
</head>
<body>
<input type="button" name="Submit" value="請求" onClick="GetData(’dataload.aspx’)">
</body>
</html>
這個是首頁面的代碼,dataload.aspx這一個頁面就是請求的頁面,在這裡可以包含很多的邏輯,跟調用普通的JS檔案一樣,這些具體只要知道javascript的應該都不難理解。