对于某些人来说,这可能是个愚蠢的问题,但是由于这个问题让我纠结了大半天,我实在是受不了了,我一定要把它贴出来!
补充一下,之前我说的修改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
相关推荐
pushlet 和comet 资料介绍 介绍如何从服器端push subscrite 给浏览器
使用服务器端推送数据,实现客户端数据的刷新,减少服务器压力,资源......
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
用pushlet框架做的小例子,下了就可以演示,非常方便
基于pushlet实现的comet技术的服务器推技术。新增了接口和实现类,可直接调用点对点,群发等功能。注意Session类当中create方法中王hashtable当中存入当前登录用户id和sessionid键值对。启动后会发现的。
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 ...
前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 ...
对comet实现中的pushlet框架进行说明,可以参照该说明进行框架使用
http长连接comet pushlet 例子 导入eclipse 直接能用
NULL 博文链接:https://cuisuqiang.iteye.com/blog/1416771
pushlet例子,Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的...
本文档详细讲述了pushlet的部署过程,包括中文乱码的解决办法,可以帮助人们更好的了解Pushlet和进行部署
Pushlet的Ajax-pushlet-client.js分析 服务器推技术前台js分析 希望能帮到大家
pushlet简单demo,导入即可运行 Java 推送 长连接 轮询 pushlet comet4j
服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet
pushlet 所需夹包 和配置文件 ajax-pushlet-client.js pushlet-sessionid.jar sources.properties pushlet.properties
pushlet开发与应用
使用开源框架pushlet实现的http长连接技术(服务器推技术),里面有pushlet框架的源码以及使用文档(服务器推、一对多、点对点)
使用Pushlet来实现服务器端向客户端推送信息