C# 检查web表单是否在javascript中关闭/刷新
当页面/浏览器关闭时,我有一个javascript函数,如下所示:C# 检查web表单是否在javascript中关闭/刷新,c#,javascript,jquery,asp.net,asp.net-mvc,C#,Javascript,Jquery,Asp.net,Asp.net Mvc,当页面/浏览器关闭时,我有一个javascript函数,如下所示: window.onbeforeunload = function (e) { var y = window.event.clientY;// e.pageY || e.clientY; if (y < 0) { alert('Window closed'); } else { alert('Window refreshed'); } w
window.onbeforeunload = function (e) {
var y = window.event.clientY;// e.pageY || e.clientY;
if (y < 0) {
alert('Window closed');
}
else {
alert('Window refreshed');
}
window.onbeforeunload=函数(e){
var y=window.event.clientY;//e.pageY | | e.clientY;
if(y<0){
警报(“窗口关闭”);
}
否则{
警报(“窗口刷新”);
}
该功能在IE中运行良好,但在其他浏览器中不起作用。我只想在网页的浏览器/选项卡关闭时启动此功能。而不是在页面刷新/重新加载时启动此功能
请帮忙
该功能在IE中运行良好,但在其他浏览器中不起作用
这是绝对正常的。其他浏览器根本不允许您在该功能中发出警报
检查是否有镀铬的小提琴:
很抱歉,您应该忘记在onbeforeunload
处理程序中发出警报。在此处理程序中,您应该执行的唯一操作是返回字符串结果:
window.onbeforeunload = function (e) {
var y = window.event.clientY;// e.pageY || e.clientY;
if (y < 0) {
return 'Window closed';
}
else {
return 'Window refreshed';
}
};
window.onbeforeunload=函数(e){
var y=window.event.clientY;//e.pageY | | e.clientY;
if(y<0){
返回“窗口关闭”;
}
否则{
返回“窗口刷新”;
}
};
浏览器的责任是决定如何向用户显示此信息,而不是告诉用户显式发出警报。这可能有助于您必须返回字符串,而不是使用警报():返回'Window closed';我需要知道这是一个表单关闭还是刷新。如何在所有浏览器中检查这一点?实际上,我想在关闭表单/浏览器时执行ajax调用。在这种情况下是否可行?这不是保证。如果用户非常快地单击关闭按钮,浏览器将直接重定向到页面停止位置如果你的AJAX请求没有发送到服务器,那么它可能永远也发不到。我不会依赖这种行为。