[英]Why is Post back not triggered when user navigates away from page, but triggered on close?
我有以下代码来检测用户导航或关闭。 回发在关闭时触发,但在离开时不会触发。 如果我放置警报消息,则始终会触发该消息。
哦,页面上有一个计时器,第一次打勾后实际上已被禁用。 但是在使用eventtarget计时器导航时,总会有一个回发触发器。 我认为这可能是因为我已经清除了上一页的缓存。
<script src="Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(window).bind("beforeunload", function () {
alert("u r navigating away"); // this message gets triggered at all times.
__doPostBack('callPostBack');
});
</script>
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
string eventTarget = this.Request["__EVENTTARGET"];
string eventArgument = this.Request["__EVENTARGUMENT"];
if (eventTarget != String.Empty && eventTarget == "callPostBack")
{
//do task
}
}
}
提前致谢。
这是不合逻辑的,当用户离开页面或关闭页面时,您实际上无法发回信息,想一想,用户关闭页面,而您尝试重新加载页面吗? 而且,如果您的操作有效,那么您将陷入死循环,您可以发回邮件并保持打开用户尝试关闭的页面。 无论如何,如果用户关闭页面或对其进行更改,则这是第一要务,而回发将不起作用。
如果您尝试进行ajax调用,那么您也会失败,因为ajax在页面关闭后停止,并且将在ajax触发器之前完成(页面关闭)。
您需要重新进行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.