频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> Ajax教程 -> 用Atlas来实现一个基于AJAX的无刷新Chatroom

用Atlas来实现一个基于AJAX的无刷新Chatroom

作者:佚名  来源:不详  发布时间:2007-3-25 17:11:59  发布人:圈圈

减小字体 增大字体

Atlas是微软提供的一个AJAX工具包,封装了实现AJAX的所需的Java Script,使用起来非常简单,可以直接调用Web Service方法,然后通过Asynchronous Call的方式回调给客户端script,我用Atlas写了个简单的基于AJAX的无刷新chatroom:

为了引用Web Service,首先要在页面中添加以下客户端脚本:

javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"><script language="html" class="wordstyle">JavaScript" src="ChatService.asmx/js"/>

用来显示和添加message的调用如下,对于每个方法的调用需要三个参数,分别是:Web Service方法的参数、调用成功后的回调函数、调用超时的回调函数。
 
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">function GetMsg() javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">{
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    AtlsChat.ChatService.GetConversation(
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    "",     //params
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    OnComplete,     //Complete event
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    OnTimeout       //Timeout event
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    );
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    return false;
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">}
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">function Add() javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">{
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    document.getElementById('info').innerHTML = '<span style="background-color: yellow">&nbsp;postingjavascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">&nbsp;</span>';
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    AtlsChat.ChatService.Add(
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    document.getElementById('inputName').value.replace('\t','&nbsp;&nbsp;&nbsp;')+'\t'+ document.getElementById('inputMsg').value.replace('\t','&nbsp;&nbsp;&nbsp;'),
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    GetMsg,
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    OnTimeout
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    );
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    return false;
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">}
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">function OnComplete(result) 
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">{
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        document.getElementById('msg').innerHTML = result;
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        document.getElementById('info').innerHTML = "";
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    }
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    function OnTimeout(result) 
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">{
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        document.getElementById('info').innerHTML = "time out";
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    }


最后,需要在页面中引用Atlas提供的几个js:

javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"><atlas:Script ID="Script1" runat="server" Path="~/ScriptLibrary/AtlasCompat.js" Browser="Mozilla" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    <atlas:Script ID="Script2" runat="server" Path="~/ScriptLibrary/AtlasCompat.js" Browser="Firefox" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    <atlas:Script ID="Script3" runat="server" Path="~/ScriptLibrary/AtlasCompat.js" Browser="AppleMAC-Safari" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    <atlas:Script ID="Script4" runat="server" Path="~/ScriptLibrary/AtlasCore.js" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    <atlas:Script ID="Script5" runat="server" Path="~/ScriptLibrary/AtlasCompat2.js" Browser="AppleMAC-Safari" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"> <script type="text/xml-script">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        <page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            <references>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                <!-- Repath the following src attributes, using regular client relative paths as necessary -->
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                <add src="ScriptLibrary/AtlasUI.js" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                <add src="ScriptLibrary/AtlasControls.js" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            </references>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            <components>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            </components>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        </page>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">   </script>


Atlas的官方网站

html" class="wordstyle">asp.net/default.html" class="wordstyle">aspx?tabindex=7&tabid=47">http://beta.html" class="wordstyle">asp.net/default.html" class="wordstyle">aspx?tabindex=7&tabid=47,虽然提供了对非IE浏览器的支持,但是在Firefox中更新div会有刷新的感觉,在Mac的Safari上也根本就不work


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· Remote Scripting进阶教..
· 嵌套DIV布局似乎与“布局..
· DateDiff函数详解
· Photoshop制作玻璃小球(..
· MSN大面积瘫痪 已知涉及..
· 显示数据库中的存储过程..
· 如何利用php+mysql保存和..
· asp性能测试第二部分(转..
· CGI 版本
· JSP初级入门教程--JSP概..
· ImageReady2.0全面接触(..
· js+css图片自动等比例缩..
· MD5的Java Bean实现
· 光盘效果的制作
· DW MX 2004网页中文乱码..
· 发送MIME邮件~~(其实我..
相关文章
· 专业数码摄影师的利器..
· 专业数码摄影师的利器..
· 专业数码摄影师的利器..
· 专业数码摄影师的利器..
· 专业数码摄影师的利器..
· Photoshop 7.0的Room..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号