快速业务通道

网页刷新技术

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19
一、在HTML文件头里增加一个键,使该页面在设定的时间后跳转到指定的页面(包括自身);
例如:
<meta http-equiv="refresh" content="30"> 二、使用框架(frame或iframe)然后在JS脚本里定时刷新框架内容。
上面两种方式都会重新加载页面,即刷新,给人的感觉不是很好,页面有明显的闪动。于是无刷新技术出现了。 三、是对第二种方式的一种变通。
即将众多框架中的一个长宽设置为0,使其不可见,然后通过脚本定时刷新该隐藏框架内容,再将该框架内容“写”到可浏览的框架里。早期的聊天室大多使用了这种技术。 真正意义上实现无刷新技术的还是以下两种技术,它们甚至可以实现局部刷新:
四、xmlHttp技术,可以通过xmlHttp访问asp页面、aspx页面、WebService等。 <script language="javascript">
function re()
{
var http = new ActiveXObject("Microsoft.XMLHTTP");
http.open("GET","../Advertisement/3.htm",false);
http.send();
var str = http.responseText;
t.innerHTML=str;
}
</script>
<span id=t></span> 五、WebService,使用WebService.htc组件访问Web服务。 var OBJ;
function init(obj,op,id)
{
OBJ=obj;
OBJ.useService("admin/DataOperation.asmx?WSDL","getBody");
OBJ.getBody.callService(show,op,id);
} function show(result){
OBJ.innerHTML=result.value;
} 其他的无刷新实现方法还有: 六、Remoting,使用Remoting也可以实现无刷新技术。因为Remoting组件可以提供包括Http在内的多种访问方式,当作为Http访问时相当于一个WebService。 七、使用JavaApplet作为中介和服务器交互。不过用户必须为这交互过程编写Java代码。 八、使用ActiveX控件做中介。但是ActiveX的权限太大,未一定能得到客户信任。 九、还有一种推的技术,好象是要用到Lostinet.Janc组件,可以把服务器端的方法拿到客户端来用。 在这些技术中,我也只是用过WebService.htc组件,实现网页的局部动态刷新
使用方法如下:
在web目录中需要一个文件webservice.htc,可以到这里下载: http://msdn.microsoft.com/workshop/author/webservice/webservice.htc
本例通过WebService,不断的从数据库中取数值,动态刷新编辑框,间隔为6秒。
新建一个WebService,部分代码如下(省略了数据库打开关闭和异常处理代码,以下代码不能运行):
public class Service1 : System.Web.Services.WebService
{
//获得某个监测点的当天电压最大值
[WebMethod]
public double GetMAXValue(int clDmsId)
{
double returndouble = Double.NaN;
//从数据库中取值
return returndouble;
}
//获得某个监测点的当天电压最大值发生时间
[WebMethod]
public string GetMAXTime(int clDmsId)
{
string returnstr = null;
//从数据库中取值
return returnstr;
}
网页调用WebService代码如下:
<%@Page language="c#" Codebehind="rt.aspx.cs" AutoEventWireup="false" Inherits="power.rt" %>
<HTML>
<script>
var intCallId = 0;
function Init()
{
setInterval("GetMaxValue()",6000);
setInterval("GetMaxValueTime()",6000);
}
function GetMaxValue()
{
div_inputMaxValue.useService("rtService.asmx?WSDL","Service1");
intCallId = div_inputMaxValue.Service1.callService("GetMAXValue");
} function GetMaxValueTime()
{
div_inputMaxValueTime.useService("rtService.asmx?WSDL","Service1&qu

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号