是否可以在关闭浏览器窗口后发送AJAX?
我有一个在JavaScript (jQuery)中使用移动的浏览器游戏,如果我在每次移动后发送Ajax,服务器将会很困难。所以我想发送一个AJAX当用户关闭窗口(或书签)。它必须在所有现代浏览器中都能正常工作。
感谢您的回答
发布于 2011-07-29 14:28:42
我建议你在某种计时器上更新服务器,这样服务器就不会在知道客户端处于什么状态时落后太多(当客户端处于活动状态时,可能每隔60秒),在客户端不活动时暂停服务器更新。
然后,在您的用户界面中,为Close或Stop放置一些明显的用户界面元素,鼓励用户以这种方式关闭服务器,然后在按下这两个按钮中的任何一个时更新服务器。
然后,您还可以挂接页面的unload事件,然后发送最后一个ajax调用。但是,这并不是在每种情况下都被调用,或者在所有浏览器中都支持,所以除了前面的两种技术之外,还可以这样做。
发布于 2011-07-29 14:28:29
我不认为有一个切实可行的方法来做这件事。但是你的问题肯定是有解决方案的。
您可以在某个时间间隔或在游戏到达特定阶段时发送您的请求。
我们还没有看到完整的场景,所以请再评估一下,这样我或其他人就可以提供帮助。
如果可能的话..我会添加一个“保存状态”或“保存”按钮。因此用户知道,如果他不点击“保存”,什么都不会被“保存”。
发布于 2011-07-29 14:38:03
你可以试试window.onbeforeunload,例如:
function saveGame(e) {
if (!e) e = window.event;
//Ajax here
}
window.onbeforeunload = saveGame;https://stackoverflow.com/questions/6869393
复制相似问题