IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> ASP技术

总结一天来学习无闪烁刷新技术

【 作者:子言    来源:中国站长站}http://bbs.chinaz.com  更新时间:2005-3-1 | 字体:

近日要做一个东西。里面就要用到无闪烁刷新技术。
本人技术菜,JS不会,ASP会那么一点。所以就找例子去了。
现在将所得到的例子转贴并把自己学得贴出来,希望对各位有所帮助。


无刷新实现的几点要点:


1,要设置好获得数据的url
2,要实现数据的调用
3,要实现数据的无刷新


先看js是怎样实现的
以下是lesen的利用js的无刷新
<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>
相信大家也许已经看过这代码,这个是利用onClick事件实现数据库更新加载的
但是数据调用和自动刷新还没有。


所以我对这个作了如下修改
<script language="javascript" type="text/javascript">
function GetData(url)
{
        url="login1.asp"
        try
        {
                DataLoad.src = url;
        }
        catch(e)
        {
                return false;
        }
        {
        var timeoutid = setTimeout("GetData()",2000)
        }
}
</script>
<body>
<script id="DataLoad" language="javascript" type="text/javascript" defer></script>
<script language="javascript" type="text/javascript">
<!--
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->
</script>


<body  onLoad="MM_callJS('GetData()')">
<span id=xx></span>
</body>


先解释:
url="login1.asp"   定义数据url
var timeoutid = setTimeout("GetData()",2000)  定义GetData()这个的刷新时间


<script language="javascript" type="text/javascript">
<!--
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->
</script>


<body  onLoad="MM_callJS('GetData()')">
利用 MM_callJS 这个实现网页下载时加载GetData()
<span id=xx></span>  调用login1.asp里面的xx数据


login1.asp 设置如下
{
xx.innerHTML="<%=("now")%>"
}
这样通过innerHTML我们就能调用数据了。


此外还有一些实现无刷新的:


如经典里的文件替换无刷新
经典里的JS替换文件实现无刷新。


<head>
<script language="javascript">
  var value = "";
  var timeid = null;
  var ready = false;


  function showvalue() {
    ready = false;    
    text.innerHTML = "请稍候……";
    if (scr.src == "1.js") scr.src = "2.js";
    else scr.src = "1.js";
    loadscr();
  }


  function loadscr() {
    if (ready) {
      text.innerHTML = value;
    }
    else {
      clearTimeout(timeid);
      timeid = setTimeout("loadscr();", 10);
    }
  }
  
</script>
</head>
<BODY aLink=#000020 bgColor=#ffffff id=all link=#000020 text=#070155 topMargin=10 vLink=#000020 marginheight="10" marginwidth="10">
<button type="button" onclick="showvalue();">切换</button>
<span id="text"></span>
<script id="scr" language="javascript" src=""></script>
</body>



1.js
value = '这是第1个脚本';
ready = true;



2.js


value = '这是第2个脚本';
ready = true;



只要加个定时间刷新 showvalue() 就会自动刷新了。


还有的就是利用XML
原理和方法大概和js的一样,只不过XML要求高一点而已


<SCRIPT language=javascript>
<!--
function bar(){
var oXMLDoc = new ActiveXObject('MSXML');             //创建'MSXML'对象
sURL = "login.asp"      //获取登陆状态数据的地址
oXMLDoc.url = sURL;     //load数据
var oRoot=oXMLDoc.root;     //获取返回xml数据的根节点
if(oRoot.children != null)  
{    
//根据返回的数据在客户端显示
xx.innerHTML=oRoot.children.item(0).text;       //用户
yy.innerHTML=oRoot.children.item(1).text;       //时间
hp.innerHTML=oRoot.children.item(2).text;    //停留
}
var timeoutid = setTimeout("bar()",1500)
}      //每1.5秒重获一次数据,}
//-->
</SCRIPT>
<script language="javascript" type="text/javascript">
<!--
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->
</script>


<body leftmargin="0" onLoad="MM_callJS('bar()')">
yy:<span id=xx></span> xx:<span id=yy></span> hp:<span id=hp></span>


login.asp


<?xml version="1.0" encoding="gb2312" ?>
<plan>
<xx>更改就看到</xx>
<yy>更改就看到</yy>
<hp>1112311</hp>
</plan>


好了,该总结的都完了。希望这篇文章能对大家有所帮助。


timeoutid = setTimeout("GetData()",2000)
这个会比价耗资源的
注明:这个贴子只是我的总结,有错误的地方谢谢指出。也欢迎和我交流:23638564
广告时间:www.54nb.com 是个学习技术好地方。哇哈哈哈。

相 关 文 章
相 关 软 件
没有相关下载
逃生 放生 黄玫瑰 想太多 那滋味 擦肩而过 放手去爱 北京欢迎你 依然在一起 吻得太逼真 感动天感动地 坐上火车去拉萨 怎么会狠心伤害我
心碎 冲动 小太阳 别碰我 蒲公英 千山万水 改变自己 一定要爱你 等爱的玫瑰 陷入爱里面 北极星的眼泪 最后一次的温柔 亲爱的那不是爱情
光荣 火花 坏女人 日不落 樱花草 为你写诗 独家记忆 夏天的味道 寂寞才说爱 忘不掉的伤 爱上你是个错 第三者的第三者 地球人都知道我爱你
假如 相思 是非题 有缘人 舍不得 我的答铃 死而无憾 外滩十八号 越爱越难过 123木头人 和寂寞说分手 爱上你是我的错 爱情里没有谁对谁错
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.