首先介绍下此js的作用:在客户的jsp中加入隐藏的iframe,从而完成与服务器之间的通信,数据的处理交给回调函数,具体如何调用回调函数下面会分析。
分析js的思路分以下几个步骤:
1 初始化
2 join
3 listen
4 pubilsh
5 _push函数分析
6 其他
一、初始化
1 导入js-pushlet-client.js文件
上图是我工程的路径图,所以导入为:<script type="text/javascript" src="<%=basePath%>imContext/lib/js-pushlet-client.js"></script>,导入后会执行js中的_initURIs();// Initialize various URLs,作用是获得存放js-pushlet-client.js的路径,并赋值给pushletNetURI,如上则有pushletNetURI = basePath + imContext/lib;这个变量的作用就是为了找到js-pushlet-net.html服务的。
2 调用初始化函数p_embed(thePushletWebRoot)
thePushletWebRoot 可以为空,也可以根据实际的项目赋值。不赋值,则系统自动根据jsp页面导入的pushlet-client.js文件的路径字符串截取,获得路径然后pushletNetURI = getWebRoot() + 'lib/js-pushlet-net.html';所以如果需要将js-pushlet-net.html放到lib文件夹下面,一般按照我上图的路径放即可。
如果赋值根据上图则可以p_embed(basePath + "imContext/");// 初始化Pushlet框架
看下面源码:
var pushletLayer = '<iframe id="pushletFrame" name="pushletFrame" src="' + pushletNetURI + '" style="visibility: hidden; width: 0px; height: 0px; border: 0px;"></iframe>';
self.document.write(pushletLayer);// 此处就是放入
特别说明:我当时放入的时候self.document.write(pushletLayer);报js错误。所以我就在自己的页面中定义了一个<div id="hiddenFrame"></div>然后把该隐藏的iframe放入到了这个div中,如下
/*
* @aijianfeng
*/
$("#hiddenFrame").append(pushletLayer);// 自定义div,存放隐藏的frame(jquery语法)
好了大功告成了
总结:啰嗦了这么多,其实初始化就是导入js,然后调用p_embed函数
分享到:
相关推荐
总结来说,Ajax-pushlet-client.js是通过面向对象的JavaScript技术,利用XMLHttpRequest对象实现HTTP长连接,从而实现服务器向客户端的实时数据推送。其内部结构清晰,逻辑严谨,通过状态管理和事件驱动,有效地处理...
pushlet 所需夹包 和配置文件 ajax-pushlet-client.js pushlet-sessionid.jar sources.properties pushlet.properties
Pushlet 2.0.4 是一个官方发布的消息推送框架,它为开发者提供了一种高效、可靠的实时通信机制,用于在服务器与客户端之间传递数据。在最新的版本 2.0.4 中,该框架引入了一个重要的新特性——支持指定用户推送,这...
- **客户端源码**:《(三)Pushlet框架客户端js-pushlet-client.js分析-初始化分析.htm》对JavaScript客户端库进行了详细解读,特别是初始化过程,这对于前端开发者理解如何集成Pushlet到网页应用至关重要。...
**Pushlet框架详解** Pushlet框架,又称为Java Pushlet,是一种基于Java的实时推送技术框架,由Marc Fleury创建并开源。Pushlet的核心概念是实现服务器向客户端的主动推送数据,而不是传统的HTTP请求-响应模式,即...
Pushlet架构主要包括三部分:Pushlet Server、Client Applet和Proxy。Pushlet Server是服务端组件,负责接收客户端的连接并管理这些连接;Client Applet是运行在浏览器中的Java小应用程序,用于与服务器建立持久连接...
分析这个文件可以帮助你更好地理解和使用Pushlet框架,例如,你可以找到服务器如何处理推送事件,客户端如何建立连接,以及如何调试和解决问题的线索。 总之,Pushlet作为Comet的一种实现,提供了高效且灵活的...
- **JS 文件修复**:修改 `ajax-pushlet-client.js` 文件中的 `PL.pushletURL`,避免 Pushlet 地址解析错误,确保客户端能正确连接到服务器的 Pushlet 服务。 3. **中文问题处理**: - 当推送包含中文内容时,...
"pushlet.jar 和示例工程"是一个专注于实现服务器端向客户端主动推送消息的框架,它在Web开发领域中扮演着重要角色。Pushlet框架的设计旨在克服传统的HTTP协议中客户端请求、服务器响应的被动通信模式,转而采用一种...
2. **ajax-pushlet-client.js**:这是一个JavaScript文件,可能是用于客户端与Pushlet服务器进行交互的库。在Web应用中,客户端通常使用JavaScript来处理用户交互并接收服务器推送的数据。此文件可能封装了与Pushlet...
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
5. **客户端JavaScript使用**:在HTML页面中,你需要引入`ajax-pushlet-client.js`这个客户端JavaScript库。然后,通过调用`PL._init()`初始化Pushlet,`PL.joinListen('/pushlet/test')`订阅特定的主题,例如'/...
Pushlet框架的核心理念是将服务器端的数据主动推送到客户端,而不是传统的客户端发起请求获取数据的模式。这种技术在实时性要求高的场景,如股票交易、在线游戏、实时聊天等,具有显著优势。Pushlet 2.0.4是该框架的...
2. **Pushlet Client**:客户端库提供了一套API,允许开发者在JavaScript、Java或其他语言中创建与Pushlet Server的连接,并订阅感兴趣的事件或数据流。 3. **Event Source**:这是服务器端的数据源,可以是数据库...
在客户端,你需要在 HTML 页面中引入 ajax-pushlet-client.js 文件,这提供了与 Pushlet 交互的 JavaScript API。使用这些 API,你可以初始化 Pushlet,如 `PL._init()`,然后订阅你想接收数据的主题,例如 `listen...
Pushlet是一种基于Java的实时数据推送框架,它允许服务器主动向客户端发送数据,而不是传统的客户端定期轮询请求。这种方式在实时性要求高的应用中非常常见,如即时消息、股票更新、在线游戏等。 在这个"Pushlet-...
Pushlet客户端通常是一个JavaScript脚本,它在用户浏览器中运行,用于建立与服务器的连接并接收推送的数据。 1. **Pushlet服务器端实现** - Pushlet服务器端使用Servlet监听客户端的连接。当客户端连接到服务器时...
2. 创建客户端:客户端通常是一个Web应用,使用JavaScript或者Java Applet来实现与Pushlet服务器的交互。你需要编写代码创建一个持久的HTTP连接,并注册订阅感兴趣的事件。 3. 编写服务器端逻辑:在服务器端,你...
6. **clientAdapter** - 包括browserAdapter、XMLAdapter、serializedAdapter,分别用于向不同类型的客户端发送javascript、xml或序列化数据。 **工作原理** Pushlet 实现了两种服务器推模式:stream(HTTP长连接)...
Pushlet是一种基于Java的推送技术框架,用于实现实时数据从服务器向客户端的推送。Pushlet项目是由Peter Mularien开发的,它提供了一个简单、轻量级的解决方案,允许服务器端主动向浏览器或其他客户端应用程序发送...