如何避免在浏览器中重新加载页面而不是关闭窗口时调用cometd serversession监听器?

时间:2017-03-11 11:47:10

标签: java jquery comet cometd

我正在使用cometd库将通知推送到网页这里我面临一个问题,即每当我重新加载(刷新)浏览器页面时

 ServerSession.addListener(new ServerSession.RemoveListener() {.......} 

这个方法在某些浏览器中不幸地调用如何避免调用这个监听器,实际上这个监听器应该在窗口关闭或链接上发生任何点击事件时调用,所以请帮我实现这一点。谢谢你

2 个答案:

答案 0 :(得分:0)

reload extension可以满足您的需求。

使用重新加载扩展,刷新同一页面或单击移动到同一CometD应用程序的其他页面的链接将避免客户端与服务器重新握手,从而保持原始会话跨重新加载或链接。 / p>

答案 1 :(得分:0)

如果您想在mozilla firefix和Opera浏览器中重新加载页面时避免调用ServerSession.addListener(new ServerSession.RemoveListener() {.......},只需评论$.cometd.disconnect();并使用window.onpagehide代替window.unload,因为{{在Mozilla和Opera浏览器中刷新页面时会调用它。它非常适合我。谢谢。