设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 网页制作 >> DHTML >> 用推送技术动态更新页面内容
精品推荐
DHTML点击TOP10
·DIV下拉式菜单(二)
·加快 DHTML 的一组技巧
·让你的网页活跃起来
·用DHTML制作带链接的滚动公告栏
·用CSS代码轻松Diy你的网页滚动条
·巧妙的幻灯片秀
·DHTML的初步入门
·会移动的文字(Marquee)
·DIV下拉式菜单(一)
·在你的主页中为Web Robot设计路标
网页制作点击TOP10
·菜鸟架设动网论坛全教程
·网页模板的使用方法 (教程)
·网页对联广告代码效果大全
·初学者入门:如何学习网页制作?
·用JavaScript实现文件图片滚动效果
·常用CSS大全
·网页自动转向代码
·图片循环滚动完美解决
·JS表格排序新法
·DIV CSS网页布局实例解析:实现表格形式
精选专题

用推送技术动态更新页面内容

作者: 来源:http://www.xgdown.com/ 时间:2006-9-19 23:05:14

用推送技术动态更新页面内容(2)   对于Netscape 4.x版本,这个HTML标记是: 

<DATA><layer id="netscapev" ></layer></DATA> 

  虽然我们可以通过引用适当的ID,从Applet直接更新HTML内容,但为了清楚起见,我们将把更新HTML代码的程序逻辑放入JavaScript函数。下面的JavaScript代码把浏览器的类型保存到ie变量: 

applnname=navigator.appName; if(applnname=="Microsoft Internet Explorer") { ie=true; } else { ie=false; } 

Applet从新数据构造出HTML代码,把它保存到JavaScript变量content,然后调用assignData()方法。内容数据可以是从纯HTML到XML到二进制数据的任何东西。 

// 根据浏览器类型调用合适的方法 function assignData() { if(ie) {explore();} else {navig(); } } 


如果浏览器是IE或者Netscape 6,Applet调用explore()方法: 

//content是一个javascript变量,它以HTML格式描述了需要 //显示的新数据 function explore() { iexplorer.innerHTML=content; } 

  如果浏览器是Netscape 4.0或者更高版本,Applet调用navig()方法: 

function navig() { document.netscapev.document.write(“<DATA>“ + content + “</DATA>“); document.netscapev.document.close(); } 

四、通信过程 
在服务器端,一个ImageAppliation.java类的实例响应Socket连接请求,并为每一个新的连接请求创建一个新的线程。为了简化代码,每一个线程只检查数据文件是否改变。如果数据文件已经改变,则线程读取文件内容,并把新的数据发送给已经连接的Applet(示例应用把整个文件发送给Applet)。 

在客户端,一个隐藏帧包含了ImageApplet.java这个Applet,因此用浏览器的查看HTML源代码功能是无法看到Applet标记的。Applet实现了连接服务器(下载该Applet的源服务器)的功能,并实现了一个简单的通信协议。建立与服务器的连接之后,Applet接收来自服务器的数据,构造出HTML代码,并调用JavaScript函数把数据传入文档: 

public void upDateHTML(String str){ //data是表单的名字, //quote是一个JavaScript变量 //str是新构造出来的HTML代码 mainwin.eval("document.data.quote.value=“" + str + "“"); mainwin.eval("javascript:assignData()"); return; } 

netscape.javascript.JSObject完成Applet到JavaScript的通信,不同版本的客户端浏览器需要不同的版本。你可以下载得到为Netscape提供的压缩类文件java40.jar。IE已经带有JSObject类,但有点难找。你可以搜索$windows$\Java\Packages目录寻找包含JSObject类的ZIP文件。 

服务器把ImageArrayElement.java类的实例通过toString()方法串行化成为字符串发送给Applet。服务器从数据文件构造出各个对象,调用toString()方法,连接得到代表所有对象的字符串,最后发送结果字符串。而在另一端,Applet接收并解析这个字符串,重新构造出各个ImageArrayElement对象。这里之所以用一个长字符串的形式发送数据,是因为这种方法只需要很简单的处理过程,使得用户能够以接近实时的速度立即得知数据的变化;但是,我们也可以用另外一种方法,即以向量的形式发送对象。 

在一个正式运行的应用中,你一般应该让新数据插入当前页面的过程透明。但在示例应用中,为了让程序运行过程更加直观,它将在新内容到达的时候提示用户。 

推送技术最主要的优点就是应用服务器只把那些改变的数据发送到网络,从而使得延迟减到了最少。由于这个Applet负责完成的工作非常少(不涉及用户界面,这部分工作由浏览器负责),所以Applet体积很小,装载速度非常快。 

五、如何运行本文实例 

共3页 9 7 [1] [2] [38 :>

用推送技术动态更新页面内容 相关文章:
用推送技术动态更新页面内容 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com