1)网页关闭时后台会发生什么?
2)如何让网络服务器认为页面仍在查看中,以便我的脚本可以运行?
我会发布一些代码,但我不知道从哪里开始,寻找一些术语和建议的方法来追求,而不一定是代码示例。
示例:
假设我有一个javascript,一旦用户访问该页面需要运行一段时间,但用户在完成之前会关闭该页面。
如果我可以(伪造)连接为活着(即使用户离开),直到脚本完成?
答案 0 :(得分:3)
unload
事件被触发和处理,脚本执行被停止,所有webworkers被杀死,所有内容都被清除,等等。
然而 可以在您的页面中启动ajax请求,当客户端中止请求时,该请求不会被服务器杀死。例如,在php中,您应该在ignore_user_abort()
处查看。
答案 1 :(得分:1)
您可以尝试在离开页面之前警告用户,并告诉他仍有一些工作需要完成 - 但除此之外,用户仍然可以关闭窗口/选项卡,您的脚本将中止。
要警告用户,请尝试以下操作:
window.onbeforeunload = function() {
return 'Just give me a minute, please';
};