是否可以延迟在网页上调用卸载方法的那一刻?我有 N 页,每页包含一个表格。我不希望用户点击提交按钮,所以我通过 javascript 模拟了点击隐藏的提交按钮。每次用户更改页面时都会激活此功能:
window.onbeforeunload = function() {
document.getElementById('submit_id').click();
}
这不起作用,但如果我在 .click () 之后发出警报
window.onbeforeunload = function() {
document.getElementById('submit_id').click();
alert("submitting form");
}
一切都像魅力一样。这是因为警报为表单提供了实际提交数据的时间;如果没有警报,页面会在表单提交之前卸载,因此不会保存更改。
我试图在 .click() 之后放置一个虚拟的 setTimeout
window.onbeforeunload = function() {
document.getElementById('submit_id').click();
setTimeout(console.log("dummy"), 200);
}
但它没有用。对此的任何帮助或反馈将不胜感激。