【问题标题】:Call URL before closing of Browser Window [duplicate]在关闭浏览器窗口之前调用 URL [重复]
【发布时间】:2010-10-13 19:54:45
【问题描述】:

我想在网页的卸载功能中调用 URL,但在卸载功能中,获取请求不起作用。我的代码如下所示:

$(window).unload( function () { 
   jQuery.get("someurl")
} );

我们希望收到有关关闭某些用户操作记录的窗口的通知。有没有可能?

如果我在 jQuery.get() 之后添加一个 alert(),Get-Request 有足够的时间来执行此操作,但这不是我们喜欢的。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    用途:-

    jQuery.ajax({url:"someurl", async:false})
    

    【讨论】:

      【解决方案2】:

      您需要直接使用 onbeforeunload 事件。在这种情况下,您可以触发 ajax 调用。这是 jQuery 没有真正帮助的地方(还)。几个注意事项:

      不要从 onbeforeunload 事件返回任何内容,否则浏览器将向用户显示“您确定要离开此页面”弹出窗口

      如果您使 ajax 调用同步,它将在运行时停止页面卸载。如果将其设为异步,则页面将在调用运行时更改(您只是不能为该调用使用 javascript 事件处理程序)。由于 jQuery 连接了事件处理程序,因此它的 ajax 支持在这里没有那么有用。

      window.onbeforeunload = function() {
         var URL = 'someplace';
         var request = null;
      
          if (window.XMLHttpRequest){
              request = new XMLHttpRequest();
          } else if (window.ActiveXObject) {
              request = new ActiveXObject("Microsoft.XMLHTTP");
          }
      
          if (request) {
              request.open("GET", URL, false);
              request.send();
          }
      }
      

      【讨论】:

      • onBeforeUnload 事件不是标准的,因此不应使用...例如,Opera 不支持它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2015-04-27
      相关资源
      最近更新 更多