我看过很多示例,并在用户决定停留在页面中的地方尝试了调用指定函数的示例。 如果用户决定离开页面,则需要在页面卸载之前调用外部函数。
\0
我尝试使用“ onunload”,但在调用该函数之前需要提示用户。
谢谢!
答案 0 :(得分:1)
您必须同时使用window.onbeforeunload
和window.onunload
。 onbeforeunload
返回一个字符串,这将导致浏览器在离开之前显示确认信息。如果用户确认离开,则会触发onunload
,然后在页面卸载之前执行所需的操作。
window.onbeforeunload = function() {
return "Are you sure you want to leave?";
};
window.onunload = function() {
func1();
};
在这两个事件处理程序中都可以执行的操作受到限制,因为如果用户确实愿意,则不允许您阻止他们离开该页面。过去,恶意软件曾经使用这些事件来执行诸如重新打开页面之类的操作。
答案 1 :(得分:0)
您似乎正在尝试在用户离开页面之前运行一些自定义代码,如果beforeunload
对您不起作用,因为在运行代码之前浏览器已经离开您,您可以添加{ mouseleave
的{1}}事件监听器。如果用户的鼠标离开了文档,则很可能会离开您的页面(关闭页面,更改选项卡,使用计算机上的其他程序等)。
document
尝试运行上面的代码片段,然后将鼠标移入或移出结果框。