加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2020-12-24 16:14:25 所属栏目:Asp教程 来源:网络整理
导读:近日要做一个东西。里面就要用到无闪烁刷新技术。 本人技术菜,JS不会,ASP会那么一点。所以就找例子去了。 现在将所得到的例子转贴并把自己学得贴出来,希望对各位有所帮助。 无刷新实现的几点要点: 1,要设置好获得数据的url 2,要实现数据的调用 3,要实现

近日要做一个东西。里面就要用到无闪烁刷新技术。
本人技术菜,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 是个学习技术好地方。哇哈哈哈。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读