jQuery unload在Chrome中不起作用

时间:2015-07-13 14:18:26

标签: javascript jquery asp.net google-chrome

我写了一个Web方法,它将在jQuery的unload事件中调用。它在我运行Visual Studio时运行。我部署在IIS中。当我在IE和Firefox中执行应用程序时它也可以工作。当我在Chrome中运行应用程序时,奇怪的是它没有启动卸载事件。以下是我写的:

  <script type="text/javascript" language="javascript">
    var startTime;

    $(window).load(function () {
        startTime = new Date().getTime();
    });

    $(window).unload(function () {
        var endTime = new Date().getTime();
        var diff = new Date(endTime - startTime);
        var path = window.location.pathname.toString();

            $.ajax({
                type: "POST",
                url: path + "/LogUserActivity",
                data: "{ 'timeSpent': '" + Math.floor(diff / 1000).toString() + "', 'urlVisited': '" + path + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function () {
                },
                error: function (xhr, status, error) {
                },
                failure: function () {
                }
            });
    });

</script>

1 个答案:

答案 0 :(得分:1)

归功于@Daniel A.怀特

这不是jQuery卸载的问题,而是使用AJAX同步调用。

让我的AJAX调用同步而不是异步,它可以在Chrome以及所有其他浏览器上运行。

http://paula.url.ph/temvaga/css/component.css