`
wujunyi911622
  • 浏览: 8983 次
  • 性别: 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');

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics