2015-05-29 71 views
-1

问题:

我正在使用ASP.NET Web窗体,c#。在页面关闭前执行JS函数|重定向

我需要在页面关闭之前执行一个JS函数 - 任何它关闭的方式 - 是一个重定向或任何其他方法。

额外的信息:

由于一些额外的信息;该函数将HTTP POST发送到不同的页面,我需要一些服务器端代码来执行。

记住这个信息 - 一个解决方案允许我在页面关闭时执行服务器端代码也适用于我。

+0

不能做,不可能。这个功能过去被人们滥用太多了。 *有一个onpageunload事件,但没有什么可以确保你的ajax不会超时 - 事实上很可能。也没有办法处理“页面关闭”网络连接丢失,电源消失等。 –

+0

由于这是一个客户端功能,你不需要一个涉及ASP.NET的解决方案,但只有JavaScript – ericosg

+0

我想这可能是不可能的。去考虑一下我的问题的其他解决方案。谢谢。 – Terrance00

回答

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