`
cuisuqiang
  • 浏览: 3962811 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3672175
社区版块
存档分类
最新评论

pushlet 之Comet框架Plushlet使用中的问题 JS脚本之过

阅读更多

对于某些人来说,这可能是个愚蠢的问题,但是由于这个问题让我纠结了大半天,我实在是受不了了,我一定要把它贴出来!

 

补充一下,之前我说的修改JS来保证路径正确性的问题,至今没有人给予其他可能性的答复,而今天我到家以后在IE8上,仅仅增加了

<base href="<%=basePath%>">

 

标签后就不再出现问题了,想想可能是因为少了一个定位项目绝对路径的标签,我看了一下页面源码:、

<html>
	<head>
		<base href="http://localhost:8080/mypushlet/">
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<script type="text/javascript" src="ajax-pushlet-client.js"></script>		
		<script type="text/javascript">
			PL._init(); 
			PL.joinListen('/cuige/he');
			function onData(event) {
				document.getElementById("mess").innerHTML=event.get("mess");
				for(i=0;i<2;i++){alert(i);}
				// 离开
				// PL.leave();
			}
		</script>
	</head>
	<body>
		<center>
		<h1>
			my first pushlet!
		</h1>
		<br />
		<div id="mess"></div>
		</center>
	</body>
</html>

 

我绝对是这个可能!

 

不过我要说的不是这个问题,而是上面代码中的for循环,大家猜猜他的运行结果会是什么!

理论上来说,应该是每次推过来消息的时候就会进行提示,但是我发现消息只是推送了一次!为什么在方法里面写个循环就不行了呢,我一直纠结,同事说是不是其他代码中有 return 关键字把程序返回终止了,我尝试把其JS都删除,但是仍然不能解决问题。

 

后来突然想到是不是变量冲突!

我以为,JS方法内的变量都是局限在这个方法内,出去这个方法就会消失,但是我错了,就是这种认为是我的程序让我纠结了这么长时间!

原因很简单

for(i=0;i<2;i++){alert(i);}

 

我定的 i 变量,没有增加 var 标识,就会成为方法内的全局变量,如果其他代码也有 i 这个变量,就会造成变量冲突!

 

我尝试这样去写:

for(var i=0;i<2;i++){alert(i);}

 

这样就可以一直进行提示了!

 

由于JavaScript属于弱语言,我平时书写时也不是那么规范,也就造成了在这次引用别人API时还造成了变量冲突!

坏习惯害死人呀!

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

2
0
分享到:
评论
1 楼 zhl0475 2012-07-04  
呵呵~ 如果不规范确实很容易出错的地方,谢谢提醒!

相关推荐

    comet 框架 之 pushlet

    在pushlet-2.0.3这个压缩包中,可能包含了Pushlet框架的源代码、文档、示例代码和配置文件等,用于帮助开发者理解和使用Pushlet。开发者可以通过阅读源码了解其工作原理,参考示例快速入门,通过配置文件定制Pushlet...

    pushlet 和comet 资料介绍

    Pushlet是Comet技术的一种具体实现,它们都旨在解决Web应用中的实时性问题。在服务器端,Pushlet使用`EventSource`和`EventSourceManager`来管理和处理事件,`EventSource`实现了`Runnable`接口,可以在多线程环境中...

    pushlet框架做的小例子

    通过这个小例子,你可以直观地了解Pushlet框架的工作流程,并学习如何在自己的项目中集成和使用Pushlet。 **总结** Pushlet框架为Java开发者提供了一种实现服务器到客户端实时数据推送的有效工具,通过克服HTTP的...

    开源的Comet框架Pushlet.zip

    Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...

    服务器推送pushlet讲解

    分析这个文件可以帮助你更好地理解和使用Pushlet框架,例如,你可以找到服务器如何处理推送事件,客户端如何建立连接,以及如何调试和解决问题的线索。 总之,Pushlet作为Comet的一种实现,提供了高效且灵活的...

    pushlet 之 Pushlet使用手把手实例

    2. 创建客户端:客户端通常是一个Web应用,使用JavaScript或者Java Applet来实现与Pushlet服务器的交互。你需要编写代码创建一个持久的HTTP连接,并注册订阅感兴趣的事件。 3. 编写服务器端逻辑:在服务器端,你...

    comet pushlet 例子

    在实际应用中,使用Comet Pushlet时,开发者需要了解如何配置和初始化Pushlet服务器,编写客户端代码来建立持久连接,并监听来自服务器的数据。同时,还要考虑网络环境和服务器性能的影响,因为长时间保持连接可能会...

    pushlet使用说明(包括中文乱码)

    Pushlet 是一个基于 Comet 技术的框架,用于实现在 Web 应用中服务器向客户端实时推送数据的功能。Comet 是一种反向 AJAX 技术,允许服务器在客户端请求未结束时保持连接开放,从而可以在有新数据时立即推送到客户端...

    基于pushlet做的comet

    基于pushlet实现的comet技术的服务器推技术。新增了接口和实现类,可直接调用点对点,群发等功能。注意Session类当中create方法中王hashtable当中存入当前登录用户id和sessionid键值对。启动后会发现的。

    pushlet_向在线的特定用户发送消息的单线程应用

    标题中的“pushlet”是指Pushlet,一种基于Comet技术的服务器推送机制。Comet是一种Web应用程序模型,它允许服务器向客户端(通常是浏览器)实时推送数据,而不是传统的HTTP请求-响应模式,即客户端需要不断轮询...

    通过推送机制(Tomcat comet,pushlet)实现进度条

    标题中的“通过推送机制(Tomcat comet,pushlet)实现进度条”涉及到的是Web应用中的一种实时通信技术,主要用于提供动态更新和用户交互。这里主要介绍Tomcat的Comet和Pushlet技术,以及如何利用它们来创建一个...

    pushlet.jar 和示例工程

    "pushlet.jar 和示例工程"是一个专注于实现服务器端向客户端主动推送消息的框架,它在Web开发领域中扮演着重要角色。Pushlet框架的设计旨在克服传统的HTTP协议中客户端请求、服务器响应的被动通信模式,转而采用一种...

    pushlet的JAR包和文档

    【Pushlet的JAR包和文档】是一组与实时通信技术相关的资源,主要涉及Pushlet项目,这是一种基于Java实现的Comet风格的Web应用工具。Pushlet是早期实现服务器推送(Server-Side Push)技术的一个重要框架,它利用HTTP...

    pushlet.jar(2.0.4)

    Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...

    pushlet简单demo,导入即可运行

    5. **Comet4j**:Comet4j是另一个基于Java的Comet(服务器推送)框架,它提供了一种更高效、更易于使用的解决方案,用于处理长连接和服务器推送。Comet4j支持多种推送模式,包括HTTP长连接、流式HTTP和WebSocket等。...

    使用Ext Pushlet 实现的点对点聊天功能最新

    前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 ...

    使用Ext Pushlet 实现的点对点聊天功能

    前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 ...

    Pushlet的Ajax-pushlet-client.js分析

    在当今的Web开发中,实时通信技术已经成为了一项不可或缺的技能,而Pushlet的Ajax-pushlet-client.js则是实现服务器“推”技术的重要工具。本文将深入剖析这个JavaScript库的核心原理,帮助开发者理解其内部机制。 ...

    pushlet文档和项目

    在实际应用中,Pushlet通常与JavaScript库配合使用,以便在客户端处理接收到的事件。例如,当服务器推送一个新的消息时,JavaScript可以更新网页内容,无需用户刷新页面。 要使用Pushlet,开发者首先需要在服务器上...

    pushlet实现简单的用户聊天

    在IT行业中,Pushlet是一种基于Java的推送技术,主要用于实现实时的数据传输,尤其是在Web应用中创建实时聊天、通知服务等功能。Pushlet是基于HTTP连接持久化的概念,它允许服务器主动向客户端推送数据,而无需...

Global site tag (gtag.js) - Google Analytics