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

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

ID:12688690

大小:37.00 KB

页数:4页

时间:2018-07-18

用推送技术动态更新页面内容_第1页
用推送技术动态更新页面内容_第2页
用推送技术动态更新页面内容_第3页
用推送技术动态更新页面内容_第4页
资源描述:

《用推送技术动态更新页面内容》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用推送技术动态更新页面内容一、什么是动态内容 大多数热门Web网站都从在线广告业务获利。Web页面中的广告空间是有限的,为了让广告投资物有所值,广告客户不仅必须在很小的广告空间内塞入大量的信息,而且还要保证广告能够吸引用户的注意力。在当前的大多数网站上,放入Web页面的横幅广告一般由服务器在构造页面的同时生成,我们无法把新的广告动态地插入到已经发送出去的页面。如果要显示新的广告,唯一的办法就是重新刷新页面。我们可以用编程的方法刷新页面,例如:使用浏览器窗口对象的setTimeOut函数定期地刷新页面。但是,用这种方法刷新广告时,用户会很明显地感到页面刷新过程;同时,要确定一个合适

2、的刷新频率也很困难。 把页面的过期时间设置为数秒时间,使得无论何时输入焦点转到该页面(即浏览器被激活)时,浏览器就会重新下载该页面。 一些大型网站,如yahoo.com和msn.com,都已经采用了这些技术。这两种方法都有各自的优点和缺点。在只使用Java的情况下,我们完全可以通过网络编程和一些界面编程工作实现横幅广告的刷新系统,但必须解决下载时间过长和刷新延迟的问题。 二、用Java实现内容推送 结合JavaScript帧间通信和一个管理网络通信的JavaApplet,我们能够用推送技术解决这个问题。在这样一个系统中,JavaApplet的任务是连接服务器并监听内容更新。一旦接

3、收到了新的内容,Applet就构造出显示这些新内容的HTML代码,调用一个JavaScript函数并把包含新内容的HTML传递给JavaScript函数。JavaScript函数运用DHTML和DOM技术,把页面中一个

标记的内容用参数中传入的新内容替换。由于浏览器安全的限制,Applet所打开的Socket端口只能连接到下载该Applet的服务器。 Web服务器只在80端口监听连接请求。因此,除了Web服务器之外,我们还需要一个接受Applet的Socket连接请求的网络应用服务。这个网络应用服务定时地查询数据库,把改动数据发布(推送)到所有已经连接的Applet。由于

4、运用了隐藏帧和JavaScript的帧间通信功能,我们能够从用户面前隐藏大多数JavaScript逻辑。 在这整个处理过程中,最困难的任务是JavaApplet与JavaScript代码之间的通信。Netscape提供了一个称为netscape.javascript.JSObject的类。要使用这个对象,请加入一个包含特殊“MAYSCRIPT”属性的Applet标记: JSObject的方法允许Applet与文档对象交互以及调用JavaScript命令。例如,把下面的代码放入

5、Applet,我们就能够访问窗口对象: importnetscape.javascript.*;publicclassMyAppletextendsjava.applet.Applet{privateJSObjectmainwin;publicvoidinit(){mainwin=JSObject.getWindow(this);}} 获得JSObject引用后,我们就能够访问文档窗口对象,并通过JSObject的eval()方法调用JavaScript函数。 三、用DHTML更新页面 在把来自Applet的新内容写入文档时,为了不影响原来已经存在的内容,我们可以使用HTML的<

6、div>

标记。这个标记在IE和Netscape中是不同的。   对于IE以及Netscape6,这个HTML标记是: //所有要更新的内容必须用id标识
   对于Netscape4.x版本,这个HTML标记是:    虽然我们可以通过引用适当的ID,从Applet直接更新HTML内容,但为了清楚起见,我们将把更新HTML代码的程序逻辑放入JavaScript函数。下面的JavaScript代码把浏览器的类型保存到i

7、e变量: applnname=navigator.appName;if(applnname=="MicrosoftInternetExplorer"){ie=true;}else{ie=false;} Applet从新数据构造出HTML代码,把它保存到JavaScript变量content,然后调用assignData()方法。内容数据可以是从纯HTML到XML到二进制数据的任何东西。 //根据浏览器类型调用合适的方法functionassignData(){if(ie){exp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。