我有以下代码
FIREWALL: POOR
AUTOUPDATE: GOOD
ANTIVIRUS: POOR
ANTISPYWARE: POOR
INTERNET SETTINGS: GOOD
UAC: GOOD
SERVICE: GOOD
ALL: POOR
此保存功能完成后是否可以仅卸载页面?它似乎在75%的时间内都有效,但是在它有机会保存的情况下才会卸载。
我的保存功能
var _this = this;
window.addEventListener("beforeunload", function(e) {
_this.save(form);
});
答案 0 :(得分:0)
简答: 不,您无法确定浏览器是否会卸载,仅如果代码已完成。
长答案: 在我看来, unload 方法的行为从浏览器到另一个,从一次到另一次是非常不一致的。
我在基准测试之前尝试过,这表明通常(并非总是)浏览器会尝试完成指示的步骤,但这似乎并没有阻止它向前移动(关闭,重定向到另一个URL)。
我建议让用户知道他要离开(是的,你必须使用看起来很尴尬的弹出消息 - 使用:alert / confirm /或简单地通过返回一个字符串),如果用户选择离开,这是结束。
答案 1 :(得分:0)
beforeunload
事件是您在浏览器导航关闭或选项卡关闭之前可以实际执行某些事件的位置。因此,如果您希望保存功能正常工作,那么最好同步进行ajax调用。我想this might help you.