十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用clearInterval,如下
站在用户的角度思考问题,与客户深入沟通,找到石柱土家族网站设计与石柱土家族网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖石柱土家族地区。
$(document).ready(function(){
c = setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
});
function checkIsExist(){
$.ajax({
type: "POST",
url: "/SecondServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'exist'){
$("#download").html("button onclick=\"window.open('/ArticleServlet');\"下载/button");
window.clearInterval(c);
}
}
});
}
window.onbeforeunload=function(e){
var evt = e ? e : (window.event ? window.event : null); //此方法为了在firefox中的兼容
if(evt)evt.returnValue='确定离开。';
}
其他登录人 还是能看到
1:userlist.jsp 服务器删除了用户后
2:其他登录的人 还去要重新抓取数据 获取最新在线用户,这个地方需要轮训(目前都是这么做的),不过 也可以通过其他插件也可 如 flash 强制推送等。。。
对了浏览器关闭事件 兼容性不好 而且刷新与关闭 不能正确判断 所以要写cookie 做标志
希望能帮到你
正常情况下是办不到的
除非你和后台建立了长链接(但通常不会有这样的场景出现)
还有一种做法就是每隔几秒发送一次ajax请求,来更新你的页面
当然这不是实时的,取决于你多少秒更新一次
试试刷新要通过js的定时触发函数来实现的,页面上写个轮训,比如每隔5s调用一次接口刷新数据就可以了。
参考写法如下:
jsp页面:
div id='abc'/div
script language="javascript" type="text/javascript"
$(function(){
setInterval("random()",1000);
});
function random()
{
$.ajax({
type:"post",
url:test.do,
success:function(text)
{
$("#abc").text(text);
}
});
}
/script
服务器端代码:
PrintWriter out=response.getWriter();
Random r=new Random();
out.print(r.nextInt());
return null;
可以通过JS来实现
思路:通过定时器调用后台,调用时采用Ajax。最后再局部刷一下那个
div就Ok了。
如有疑问可以在线和我联系
实例:(采用jquery+struts)
jsp页面:
div id='abc'/div
script language="javascript" type="text/javascript"
$(function(){
setInterval("random()",1000);
});
function random()
{
$.ajax({
type:"post",
url:test.do,
success:function(text)
{
$("#abc").text(text);
}
});
}
/script
服务器端代码:
PrintWriter out=response.getWriter();
Random r=new Random();
out.print(r.nextInt());
return null;