首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有可能在关闭浏览器窗口后发送AJAX?

有没有可能在关闭浏览器窗口后发送AJAX?
EN

Stack Overflow用户
提问于 2011-07-29 14:24:19
回答 5查看 3.2K关注 0票数 6

是否可以在关闭浏览器窗口后发送AJAX?

我有一个在JavaScript (jQuery)中使用移动的浏览器游戏,如果我在每次移动后发送Ajax,服务器将会很困难。所以我想发送一个AJAX当用户关闭窗口(或书签)。它必须在所有现代浏览器中都能正常工作。

感谢您的回答

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-29 14:28:42

我建议你在某种计时器上更新服务器,这样服务器就不会在知道客户端处于什么状态时落后太多(当客户端处于活动状态时,可能每隔60秒),在客户端不活动时暂停服务器更新。

然后,在您的用户界面中,为Close或Stop放置一些明显的用户界面元素,鼓励用户以这种方式关闭服务器,然后在按下这两个按钮中的任何一个时更新服务器。

然后,您还可以挂接页面的unload事件,然后发送最后一个ajax调用。但是,这并不是在每种情况下都被调用,或者在所有浏览器中都支持,所以除了前面的两种技术之外,还可以这样做。

票数 5
EN

Stack Overflow用户

发布于 2011-07-29 14:28:29

我不认为有一个切实可行的方法来做这件事。但是你的问题肯定是有解决方案的。

您可以在某个时间间隔或在游戏到达特定阶段时发送您的请求。

我们还没有看到完整的场景,所以请再评估一下,这样我或其他人就可以提供帮助。

如果可能的话..我会添加一个“保存状态”或“保存”按钮。因此用户知道,如果他不点击“保存”,什么都不会被“保存”。

票数 1
EN

Stack Overflow用户

发布于 2011-07-29 14:38:03

你可以试试window.onbeforeunload,例如:

代码语言:javascript
复制
function saveGame(e) {
     if (!e) e = window.event;

    //Ajax here
}
window.onbeforeunload = saveGame;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6869393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档