我有一个 jQuery AJAX 调用,它每 5 分钟进行一次,当用户离开页面时(使用不同的参数)。
/* Remove locks when leaving page - AJAX 'aborted' by IE8 and below */
window.onunload = function () {
manageLocks(2)
}
/* Refresh locks every 5 minutes - AJAX works fine in all browsers */
window.setInterval(function () {manageLocks(1);}, 30000);
function manageLocks(mode) {
$.ajax({
type: "POST",
url: "/System/ManageLocks",
data: '{ "action" : ' + mode + '}',
contentType: "application/json",
dataType: "json",
cache: false
});
}
我认为这不是 AJAX 调用的问题,而是如何调用该函数。在使用 using 调用时,它在所有浏览器中都可以正常工作,window.setInterval
但在使用 using 调用时,在 IE8 及以下的网络面板中显示为“已中止” window.onunload
。
是否有人知道旧的 IE 版本在以这种方式调用时会阻止某些功能,或者对 的支持不稳定onunload
?有没有另一种方法可以让它在旧的 IE 版本中工作?
只要我可以managelocks
每 5 分钟调用一次函数,并且当用户离开页面时(我知道事实上,关闭浏览器时不会调用该函数 - 我可以忍受)我'我不太挑剔它是如何发生的。
谢谢。