自动定时刷新网页的多种实现方法
方法一:用函数实现以下是引用片段:
<title>刷网页脚本</title>
<center>
<h3>刷网页脚本</h3>
网址:<input type=text value="http://www.ehbsz.com">
间隔:<input type=text value="1000">毫秒
<input type=button value="给我刷" >
<input type=button value="暂停" disabled ><br>
<iframe width=500 height=300></iframe>
<a target=f></a>
</center>
<script>
var timer;
function refresh()
{
b1.disabled=true;
b2.disabled=false;
b3.href=url.value;
b3.click();
timer=setTimeout("refresh()",ms.value);
}
function stop()
{
b1.disabled=false;
b2.disabled=true;
clearTimeout(timer);
}
</script>
二、用HTML定时刷新
在head部记入
<META HTTP-EQUIV="Refresh" content="20">
其中20为20秒后自动刷新,你可以更改为任意值。
网页自动转页,自动跳转
<META HTTP-EQUIV="Refresh" CONTENT="时间(秒);URL=地址">
窗口定时关闭
先将如下代码网页文件的区:
<script language="javascript">
function closeit() { setTimeout("self.close()",10000) //毫秒 }
</script>
三、实时数据的刷新
随着网络的发展,利用ASP技术制作Web页面,来完成动态网站设计的方式,越来越得到广泛的应用。企业站点和其他商业站点,有时需要为用户提供查询实时变化的数据信息,而利用ASP技术完成这种功能会遇到实时数据的自动刷新问题。面对几秒钟变化一次的实时数据,HTML和ASP中VBScript、JavaScript语言仅为我们提供了页面Frame和窗口的刷新方法(即HTML的<META HTTP-Equiv=“refresh” Content=……及ASP的window.location.reload()),这样会造成页面的刷新闪烁,影响了实时效果和页面的稳定美观。
面对这种情况,我们可以将实时数据显示页面DisplayMain.htm划分成左右两个框架(Frame)Fra_Left和Fra_Right。
DisplayMain.htm代码如下:
<HTML>
<FRAMESET cols=“100%,*” Border=1>
<FRAME scrolling=“auto”SRC=“Dis_Left.asp” noresize>
<FRAME SRC=“Dis_Right.asp”>
</FRAMESET>
</HTML>
其中框架Fra_Left完全占据页面,而框架Fra_Right不占据页面空间。我们可以在Fra_Left框架中显示实时数据页面,而在右面框架Fra_Right中进行实时数据处理(产生查询结果数据集,并将结果数据集作为参数传递给左侧Fra_Left框架进行数据显示),这样我们只要定时刷新右侧框架,左侧框架显示页面数据即可实时刷新,而不会出现页面闪动影响视觉效果。
Dis_Left.asp代码如下:
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META Content=“Microsoft Visual Studio 6.0”>
</HEAD>
<BODY>
//此处可定义若干供显示实时数据的TEXT对象
<form>
<input style=“BACKGROUND-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-RIGHT-COLOR: black; BORDER-TOP-COLOR: black; COLOR: white; HEIGHT: 18px; WIDTH: 81px”>
……
</form>
//或者定义一个可自动下载的OCX实时数据显示控件
//<OBJECT 此处定义一个可自动下载的OCX实时数据显示控件</OBJECT>
</BODY>
</HTML>
右侧框架Dis_Right.asp代码如下:
<%@ Language=VBScript %>
<HTML>
<HEAD>
<!--<META Content=“Microsoft Visual Studio 6.0”>-->
//此处定义本页面每5秒刷新一次
<META HTTP-Equiv=“refresh” Content=“5; url=Dis_Right.asp”NAME=“GENERATOR” Content=“Microsoft Visual Studio 6.0”>
</HEAD>
<BODY>
<%
//建立数据库连接
set connectme=Server.CreateObject(“ADODB.CONNECTION”)
connectme.ConnectionTimeout = 15
connectme.CommandTimeout = 30
connectme.CursorLocation = 3
connectme.Open “Provider=MSDAORA.1; Password=MYPASS; User Data Source=MYSPURCE; Persist Security Info=True;User PASSWORD=MYPASS;UID=MYID; DBQ=MYDBQ; DBA=W; APA=T;FEN=T; FRC=10; FDL=10; LOB=T; RST=T;FRL=F; PFC=10; TLO=0; ”,“USER”,“MYPASS”
dim DataStr
dim CntStr
//执行SQL语句
sql = “select value from tablename ……”
set rstemp = Server.CreateObject(“ADODB.RECORDSET”)
set rstemp = connectme.Execute(sql)
//形成实时数据参数字符串
DataStr = “”
CntStr = 0
do while not rstemp.EOF
DataStr = DataStr & rstemp(“val”) & “;”
CntStr = CntStr + 1
rstemp.MoveNext
//也可将数据直接赋值给右侧TEXT对象
//Response.Write(“<Script> parent.Left
.document.sj.text1.value=‘”+val+“’</Script>”);
loop
rstemp.Close
%>
<SCRIPT LANGUAGE=VBScript>
//传递参数给右侧页面
parent.Left.document.控件名 “<%=DataStr%>”
</SCRIPT>
<% end if %>
</BODY>
</HTML>
经过这样设计的实时数据浏览页面,避免了页面刷新带来的闪动问题,使页面更加稳定美观。在生产企业站点、股市汇市查询、模拟图形设计等应用实践中,取得了良好的效果。