关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网络编程>>ASP>>正文|网页无闪烁(无刷新)技术

网页无闪烁(无刷新)技术

[ 来路:21kn.com    时间:2007-7-8 0:44:54    点击: ]

 

无刷新实现的几点要点:
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)

这个会比价耗资源的.

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:ASP中Connection对像封装dll解决方案  下一篇:使用集合清除站内Cookies的一段小代码

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

ASP教程:详细学习ASP的内置对象

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号