在网上有很多相关主题的讨论,但是一般都是用Iframe和XMLHTTP来实现。
Iframe的实现可能是最常看到的。很多论坛和聊天室的无刷新效果都是用这个实现的。但是这个方法还是可以在IE的状态栏上看到下载数据的进度条,而且有刷新数据时电脑发出的声音,本质上不能属于真正的无刷新技术。
XMLHTTP相信也有很多人用过,但是出于对浏览器的兼容性要求,还有很多网友的浏览器屏蔽了对控件的支持,使得XMLHTTP在客户端的应用显得比较苍白无力了。一般都是在服务器端应用得比较多。
现在开始说说我自己的思路吧:
刚开始我也是用Iframe来实现的,但是一听到那个讨厌的刷新声,心里就不是滋味,于是我想,既然Iframe可以通过改变它的src属性,那JS也可以啊,而且JS请求跟Iframe的请求方式是不一样的,至少在刷新效果是不一样的。所以我就开始从这个念头入手。现在给出代码让大家参考。
程序代码:
<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的应该都不难理解。