【问题标题】:Execute JS function just before page close | redirect [duplicate]在页面关闭前执行 JS 函数 |重定向[重复]
【发布时间】:2015-08-12 00:28:12
【问题描述】:

问题:

我正在使用 ASP.NET 网络表单,c#。

我需要在页面关闭之前执行一个 JS 函数——无论它以何种方式关闭——作为重定向或任何其他方法。

额外信息:

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

考虑到这些信息 - 允许我在页面关闭时执行服务器端代码的解决方案也适用于我。

【问题讨论】:

  • 不可能,不可能。过去,该功能被人们滥用得太多了。 一个 onpageunload 事件,但没有什么可以确保您的 ajax 不会首先超时——事实上它很可能。也无法处理“页面关闭”网络连接丢失、断电等问题。
  • 由于这是一个客户端功能,您不需要与 ASP.NET 相关的解决方案,只需要 JavaScript
  • 我认为这可能是不可能的。会想一些其他的解决方案来解决我的问题。谢谢。

标签: javascript c# asp.net


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 2012-03-24
    • 1970-01-01
    • 2012-11-29
    相关资源
    最近更新 更多