我写了一个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>
答案 0 :(得分:1)
归功于@Daniel A.怀特
这不是jQuery卸载的问题,而是使用AJAX同步调用。
让我的AJAX调用同步而不是异步,它可以在Chrome以及所有其他浏览器上运行。
http://paula.url.ph/temvaga/css/component.css