【发布时间】:2025-12-25 22:00:16
【问题描述】:
当用户在我的应用程序中编辑记录时,我会跟踪他们已将其“锁定”以防止其他用户在第一个用户关闭窗口(或保存)之前对其进行编辑。
我正在尝试将请求发送回服务器以解锁记录,但它在 Firefox 中不起作用。在脚本中调用 onbeforeunload 事件,但它不会将请求发送回服务器。 有什么想法吗?
<body>
<script>
window.onbeforeunload = function (e) {
doUnlock();
}
function doUnlock() {
if (navigator.appName == 'Microsoft Internet Explorer') {
// works in IE (with an IFRAME)
utilFrame.location.href = "/unlock.do?recordId=" + recordId;
} else if (navigator.appName == 'Netscape') {
// None of this works....
//window.location.href = "/unlock.do?recordId=" + recordId;
var req = newXMLHttpRequest();
req.open("GET", "/unlock.do?recordId=" + recordId, true);
req.send();
} else {
// Works for chrome
window.open("/unlock.do?recordId=" + recordId);
}
}
</script>
【问题讨论】:
-
不确定这是否是拼写错误,但您忘记了 new 和 XMLHttpRequest() 之间的空格。
-
是的,我应该在其中包含空间。
标签: javascript internet-explorer firefox google-chrome onbeforeunload