Comet框架Plushlet使用中的问题 JS脚本之过
来源:互联网 发布:费米估算法百度百科 编辑:程序博客网 时间:2024/06/06 00:02
对于某些人来说,这可能是个愚蠢的问题,但是由于这个问题让我纠结了大半天,我实在是受不了了,我一定要把它贴出来!
补充一下,之前我说的修改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时还造成了变量冲突!
坏习惯害死人呀!
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* csdn 横中 */google_ad_slot = "7877933139";google_ad_width = 468;google_ad_height = 60;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- Comet框架Plushlet使用中的问题 JS脚本之过
- pushlet 之Comet框架Plushlet使用中的问题 JS脚本之过
- pushlet 之 Comet框架Plushlet使用中的问题
- Comet框架Plushlet使用中的问题
- Comet HTTP服务器推送框架之Comet4J
- Comet HTTP服务器推送框架之Pushlet
- Comet HTTP服务器推送框架之icomet
- Comet HTTP服务器推送框架之icomet
- Comet技术在项目中的使用
- Comet技术在项目中的使用
- Comet技术在项目中的使用
- comet技术框架确定
- Pushlet - 开源 Comet 框架
- Comet框架 CometD
- Comet框架:Comet4J
- C#中的js脚本
- github使用过的框架
- js遇到过的问题
- paixi
- JavaScript 数组 Array对象增加和删除 元素
- C语言面试题之二——程序阅读题
- 授权测试专题之——权限提升测试
- UDP编程 UDP连接对象的理解和使用
- Comet框架Plushlet使用中的问题 JS脚本之过
- 每周一荐:TotalCommand的文件夹同步功能
- Comet框架Plushlet使用中的问题
- 一个最简单的socket通信的例子
- Google protobuf(1)-简介
- 一个简单的UDP服务端和客户端示例
- vc字符串
- Learn Python The Hard Way学习(42) - 继承,包含,对象和类
- 进程与线程