2022年用推送技术动态更新页面内容经验技巧.docx

上传人:wj151****6093 文档编号:63039488 上传时间:2022-11-23 格式:DOCX 页数:8 大小:14.87KB
返回 下载 相关 举报
2022年用推送技术动态更新页面内容经验技巧.docx_第1页
第1页 / 共8页
2022年用推送技术动态更新页面内容经验技巧.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年用推送技术动态更新页面内容经验技巧.docx》由会员分享,可在线阅读,更多相关《2022年用推送技术动态更新页面内容经验技巧.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、内容的HTML代码,调用一个JavaScript函数并把包含新内容的HTML传递给JavaScript函数。JavaScript函数运用DHTML和DOM技术,把页面中一个<div>标记的内容用参数中传入的新内容替换。由于阅读器平安的限制,Applet所打开的Socket端口只能连接到下载该Applet的服务器。Web服务器只在80端口监听连接恳求。因此,除了Web服务器之外,我们还须要一个接受Applet的Socket连接恳求的网络应用服务。这个网络应用服务定时地查询数据库,把改动数据发布(推送)到全部已经连接的Applet。由于运用了隐藏帧和JavaScript的帧间通信功能,

4、我们能够从用户面前隐藏大多数JavaScript逻辑。在这整个处理过程中,最困难的任务是Java Applet与JavaScript代码之间的通信。Netscape供应了一个称为netscape.javascript.JSObject的类。要运用这个对象,请加入一个包含特别“MAYSCRIPT”属性的Applet标记:<APPLET code=MyApplet.class height=1 width=1 MAYSCRIPT>JSObject的方法允许Applet与文档对象交互以及调用JavaScript吩咐。例如,把下面的代码放入Applet,我们就能够访问窗口对象:import

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

6、<div></div>标记。这个标记在IE和Netscape中是不同的。对于IE以及Netscape 6,这个HTML标记是:/ 全部要更新的内容必需用id标识 <div id=iexplorer width=700px ></div>对于Netscape 4.x版本,这个HTML标记是:<DATA><layer id=netscapev ></layer></DATA>虽然我们可以通过引用适当的ID,从Applet干脆更新HTML内容,但为了清晰起见,我们将把更新HTML代码的程序逻辑放入Java

7、Script函数。下面的JavaScript代码把阅读器的类型保存到ie变量:applnname=navigator.appName; if(applnname=Microsoft Internet Explorer) { ie=true; } else { ie=false; }Applet从新数据构造出HTML代码,把它保存到JavaScript变量content,然后调用assignData()方法。内容数据可以是从纯HTML到XML到二进制数据的任何东西。/ 依据阅读器类型调用合适的方法 function assignData() {

8、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() { scapev.document.write(

9、“<DATA>“ + content + “</DATA>“); scapev.document.close(); }四、通信过程在服务器端,一个ImageAppliation.java类的实例响应Socket连接恳求,并为每一个新的连接恳求创建一个新的线程。为了简化代码,每一个线程只检查数据文件是否变更。假如数据文件已经变更,则线程读取文件内容,并把新的数据发送给已经连接的Applet(示例应用把整个文件发送给Applet)。在客户端,一个隐藏帧包含了ImageApplet.java这个Applet,因此用阅读器的查看HTML源代码功能是无法看到Applet

10、标记的。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(); r

11、eturn; }netscape.javascript.JSObject完成Applet到JavaScript的通信,不同版本的客户端阅读器须要不同的版本。你可以下载得到为Netscape供应的压缩类文件java40.jar。IE已经带有JSObject类,但有点难找。你可以搜寻$windows$JavaPackages书目找寻包含JSObject类的ZIP文件。服务器把ImageArrayElement.java类的实例通过toString()方法串行化成为字符串发送给Applet。服务器从数据文件构造出各个对象,调用toString()方法,连接得到代表全部对象的

12、字符串,最终发送结果字符串。而在另一端,Applet接收并解析这个字符串,重新构造出各个ImageArrayElement对象。这里之所以用一个长字符串的形式发送数据,是因为这种方法只须要很简洁的处理过程,使得用户能够以接近实时的速度马上得知数据的改变;但是,我们也可以用另外一种方法,即以向量的形式发送对象。在一个正式运行的应用中,你一般应当让新数据插入当前页面的过程透亮。但在示例应用中,为了让程序运行过程更加直观,它将在新内容到达的时候提示用户。推送技术最主要的优点就是应用服务器只把那些变更的数据发送到网络,从而使得延迟减到了最少。由于这个Applet负责完成的工作特别少(不涉及用户界面,这

13、部分工作由阅读器负责),所以Applet体积很小,装载速度特别快。五、如何运行本文实例要测试本文示例应用,你的机器上必需安装有Web服务器和JDK 1.7或更高版本。安装要点:解开ZIP压缩文件并安装到Web服务器默认根书目。对于IIS服务器,默认根书目是Inetputwwwroot对于jsdk2.1所带的免费服务器,默认书目是<安装书目>webpages解开压缩文件之后,全部文件都将安装到<Web服务器根>/exp/书目。把下面几行代码加入默认页面。每一种服务器都有自己的默认页面,IIS的默认页面是“default.htm”,请参见Web服务器文档了解详细说明:<

14、;ul><li> <a href=/exp/ImageMain.htm> Java based dynamic Ad-Banner</a></li> </ul>运行应用的步骤:打开一个DOS窗口,进入<默认Web书目>/exp,执行“java ImageApplication”。系统将显示“Server started listening at port 6011”。留意确保classpath环境变量指向了当前工作书目。启动Web服务器。打开阅读器输入下面的URL:http:/localhost:8080。该URL将打开Web服务器的默认页面,它应当有一个“Java based dynamic Ad-Banner”链接。点击这个链接就启动了本文的示例应用。用Notep

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁