`
wujunyi911622
  • 浏览: 9272 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

pushlet页面刷新问题解决

 
阅读更多

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>示意图</title>
<base href="<%=basePath%>">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="javascript/ajax-pushlet-client.js"></script>
<script  type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
<link type="text/css" href="css/common.css" rel="stylesheet" />

</head>
<body style="overflow: hidden;">
 <div class="shiyitu">
  <div class="fengshan1">
   <img src="images/fengshan_yes.png" />
  </div>
  <div class="fengshan2">
   <img src="images/fengshan_yes.png" />
  </div>
  <div class="fengshan3">
   <img src="images/fengshan_yes.png" />
  </div>
  <div class="fengshan4">
   <img src="images/fengshan_yes.png" />
  </div>
  <div class="chuangan1">
   <img id="cg1" src="images/chuangan_yes.png" />
  </div>
  <div class="chuangan2">
   <img id="cg2" src="images/chuangan_yes.png" />
  </div>
  <div class="chuangan3">
   <img id="cg3" src="images/chuangan_yes.png">
  </div>
  <div class="penzui1">
   <img id="pz1" src="images/penzui_no.png" />
  </div>
  <div class="penzui2">
   <img id="pz2" src="images/penzui_no.png" />
  </div>
  <div class="penzui3">
      <img id="pz3" src="images/penzui_no.png"/>
     </div>
 </div>

 <script type="text/javascript">
  PL._init();
  PL.joinListen('/demo');
  function onData(event) {
   var str = event.get("demo");
   var list = eval('(' + str + ')');
   if (list.JsonArray[0].type == 1) {
    document.getElementById("cg1").src = "images/chuangan_yes.png";
    document.getElementById("pz1").src = "images/penzui_no.png";
   }
   if (list.JsonArray[0].type == 2) {
    document.getElementById("cg1").src = "images/chuangan_no.png";
    document.getElementById("pz1").src = "images/penzui_no.png";
   }
   if (list.JsonArray[0].type == 3) {
    document.getElementById("cg1").src = "images/chuangan_yes.png";
    document.getElementById("pz1").src = "images/penzui_yes.png";
   }
   if (list.JsonArray[1].type == 1) {
    document.getElementById("cg2").src = "images/chuangan_yes.png";
    document.getElementById("pz2").src = "images/penzui_no.png";
   }
   if (list.JsonArray[1].type == 2) {
    document.getElementById("cg2").src = "images/chuangan_no.png";
    document.getElementById("pz2").src = "images/penzui_no.png";
   }
   if (list.JsonArray[1].type == 3) {
    document.getElementById("cg2").src = "images/chuangan_yes.png";
    document.getElementById("pz2").src = "images/penzui_yes.png";
   }
   if (list.JsonArray[2].type == 1) {
    document.getElementById("cg3").src = "images/chuangan_yes.png";
    document.getElementById("pz3").src = "images/penzui_no.png";
   }
   if (list.JsonArray[2].type == 2) {
    document.getElementById("cg3").src = "images/chuangan_no.png";
    document.getElementById("pz3").src = "images/penzui_no.png";
   }
   if (list.JsonArray[2].type == 3) {
    document.getElementById("cg3").src = "images/chuangan_yes.png";
    document.getElementById("pz3").src = "images/penzui_yes.png";
   }
  }
 </script>

</body>
</html>

 

如果是保持页面不变,没有问题,一直收到后台pushlet推送来的数据;但是如果点击到别的页面,在点击回来或者是刷新页面,就会出现有收不到后台pushlet推送过来的数据;

 

后来修改 body里添加 onload和onunload

 

<body style="overflow: hidden;" onunload="leave();" onload="listen();return false;"  >

 

然后调用

function leave(){    
   PL.leave();
   return false;
 }
  
  function listen(){
   PL._init();
   PL.joinListen('/demo');
  }

 

去掉原先js里面的 PL._init();和PL.joinListen('/demo');

 

 

 

 

分享到:
评论

相关推荐

    pushlet定时向页面发送消息demo

    这个"pushlet定时向页面发送消息demo"是一个实例,展示了如何使用Pushlet库来实现定时向用户页面发送更新信息。 首先,理解Pushlet的基本工作原理。Pushlet采用了一个叫做Comet的技术,Comet是长连接的一种实现方式...

    pushlet

    Pushlet的核心组件是Pushlet Server和Pushlet Client。Pushlet Server作为服务端,接收并处理客户端的连接,当有新的数据可用时,会主动将数据推送到已经建立连接的客户端。Pushlet Client则是在用户端运行的程序,...

    pushlet jar包下载

    服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet

    pushlet 之 Pushlet使用手把手实例

    Pushlet 是由Caucho公司开发的,其核心思想是基于HTTP长连接的服务器推送,解决了传统HTTP协议中客户端必须发起请求才能获取数据的问题。Pushlet框架包括服务器端组件和客户端组件,通过简单的API和协议,使得开发者...

    服务器推送pushlet讲解

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

    pushlet简单配置应用

    5. **客户端JavaScript使用**:在HTML页面中,你需要引入`ajax-pushlet-client.js`这个客户端JavaScript库。然后,通过调用`PL._init()`初始化Pushlet,`PL.joinListen('/pushlet/test')`订阅特定的主题,例如'/...

    pushlet文档和项目

    例如,当服务器推送一个新的消息时,JavaScript可以更新网页内容,无需用户刷新页面。 要使用Pushlet,开发者首先需要在服务器上部署Pushlet Server,然后在客户端和服务器端编写代码来实现数据的发布和订阅。对于...

    pushlet.jar 和示例工程

    Pushlet Client API则允许开发者在他们的Web页面中集成Pushlet功能,接收来自服务器的实时消息。 标签"web"表明Pushlet框架是为Web应用设计的,可以集成到基于Java的Web服务器或应用服务器中,如Tomcat、Jetty等。...

    pushlet例子

    总结来说,Pushlet是早期服务器推送技术的一个实例,它为Web实时通信提供了一个解决方案,但随着技术的发展,现在有更多的选择,如WebSocket和HTTP/2 Server Push,它们在性能和兼容性上都有所改进。

    pushlet服务器推技术例子

    7. **安全性**:在实际应用中,Pushlet需要考虑安全性问题,如身份验证、授权和加密通信等,以防止未授权访问和数据泄露。 通过上述机制,Pushlet服务器推技术实例能够实现高效的实时通信,尤其适用于需要实时交互...

    pushlet实现简单的用户聊天

    总之,Pushlet技术为实时通信提供了一种高效且灵活的解决方案,特别适合需要实时更新数据的场景,如在线聊天、股票行情、游戏等。通过学习和实践"pushlet实现简单的用户聊天",开发者可以掌握这种技术,并将其应用于...

    PUSHLET即时通讯工程实例

    **PUSHLET即时通讯工程实例详解** PUSHLET是一种基于Java技术实现的即时通讯系统,它允许服务器主动向客户端推送数据,而无需客户端持续轮询请求。这种技术在实时性要求高的应用中非常常见,如在线聊天、股票交易、...

    Pushlet的Ajax-pushlet-client.js分析

    `_onEvent`根据事件类型执行相应的处理,如Data事件调用用户自定义的onData方法,Refresh事件触发页面刷新,Error事件则调用onError处理错误,join-ack和join-listen-ack事件改变状态并调用对应的回调函数。...

    PushLet实例,可直接运行

    PushLet就是为了解决这个问题,它允许服务器主动向客户端推送数据,无需客户端不断轮询。 PushLet的核心概念是“Push Channel”(推送通道)。服务器创建一个Push Channel,客户端订阅这个通道,然后服务器可以在...

    pushlet 和comet 资料介绍

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

    comet 框架 之 pushlet

    总的来说,Comet框架的Pushlet实现是一种高效的服务器推送技术,它通过持久化连接解决了传统Web应用实时性不强的问题,对于需要实时数据更新的应用场景具有显著的优势。开发者可以利用Pushlet轻松构建出实时交互的...

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

    Pushlet 是一个基于 Comet ...总的来说,Pushlet 提供了一个高效且易于集成的解决方案,用于实现服务器端到客户端的数据实时推送。通过正确配置和理解其工作原理,你可以有效地利用 Pushlet 构建实时互动的 Web 应用。

    Pushlet简单示例测试

    Pushlet是一种基于Java的实时数据推送技术,它允许服务器向客户端主动推送数据,而无需客户端持续不断地轮询请求。在Web应用中,Pushlet能够显著提高用户体验,因为它减少了延迟并优化了服务器资源的使用。本示例...

    pushlet.jar(2.0.4)

    并且除了刷新整个页面或者完全采用applet展示内容之外,很难找到别的方法将client端applet的状态和浏览器的页面内容集成在一起。 Pushlet是一种comet实现:在Servlet机制下,数据从server端的Java对象直接推送(push...

Global site tag (gtag.js) - Google Analytics