在页面关闭前执行 JS 函数 |重定向[重复]
Posted
技术标签:
【中文标题】在页面关闭前执行 JS 函数 |重定向[重复]【英文标题】:Execute JS function just before page close | redirect [duplicate] 【发布时间】:2015-08-12 00:28:12 【问题描述】:问题:
我正在使用 ASP.NET 网络表单,c#。
我需要在页面关闭之前执行一个 JS 函数——无论它以何种方式关闭——作为重定向或任何其他方法。
额外信息:
作为一些额外的信息;该函数将是一个到不同页面的 HTTP POST,我需要一些服务器端代码来执行。
考虑到这些信息 - 允许我在页面关闭时执行服务器端代码的解决方案也适用于我。
【问题讨论】:
不可能,不可能。过去,该功能被人们滥用得太多了。 有 一个 onpageunload 事件,但没有什么可以确保您的 ajax 不会首先超时——事实上它很可能。也无法处理“页面关闭”网络连接丢失、断电等问题。 由于这是一个客户端功能,您不需要与 ASP.NET 相关的解决方案,只需要 javascript 我认为这可能是不可能的。会想一些其他的解决方案来解决我的问题。谢谢。 【参考方案1】:看看JavaScript函数window.onbeforeunload
。
本质上,浏览器会在检测到页面正在关闭时触发此事件,并允许您通过从该函数返回字符串来自定义消息。
但是,您无法控制用户是否要提前或意外强制关闭页面。
window.onbeforeunload = function(e)
// do some ajax post here
//
// Display a message (or generic message in some browsers) and allow the user to cancel leaving the page.
return 'Dialog text here.';
;
请注意,此解决方案会尝试警告用户并允许取消卸载。这可能不适合您,但应该可以。
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
【讨论】:
以上是关于在页面关闭前执行 JS 函数 |重定向[重复]的主要内容,如果未能解决你的问题,请参考以下文章
passport.js ,在弹出窗口中进行身份验证后,将其关闭并重定向父窗口