-1
問題:
我正在使用ASP.NET Web窗體,c#。在頁面關閉前執行JS函數|重定向
我需要在頁面關閉之前執行一個JS函數 - 任何它關閉的方式 - 是一個重定向或任何其他方法。
額外的信息:
由於一些額外的信息;該函數將HTTP POST發送到不同的頁面,我需要一些服務器端代碼來執行。
記住這個信息 - 一個解決方案允許我在頁面關閉時執行服務器端代碼也適用於我。
我正在使用ASP.NET Web窗體,c#。在頁面關閉前執行JS函數|重定向
我需要在頁面關閉之前執行一個JS函數 - 任何它關閉的方式 - 是一個重定向或任何其他方法。
額外的信息:
由於一些額外的信息;該函數將HTTP POST發送到不同的頁面,我需要一些服務器端代碼來執行。
記住這個信息 - 一個解決方案允許我在頁面關閉時執行服務器端代碼也適用於我。
查看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
不能做,不可能。這個功能過去被人們濫用太多了。 *有一個onpageunload事件,但沒有什麼可以確保你的ajax不會超時 - 事實上很可能。也沒有辦法處理「頁面關閉」網絡連接丟失,電源消失等。 –
由於這是一個客戶端功能,你不需要一個涉及ASP.NET的解決方案,但只有JavaScript – ericosg
我想這可能是不可能的。去考慮一下我的問題的其他解決方案。謝謝。 – Terrance00