我已经准备好告诉您这是不可能的,因为 onbeforeunload 事件仅在您检查 event.target、event.originaltarget 等时报告已被窗口触发。但是,如果您覆盖 window.onclick,我们可以修改它方法来注册页面上最后点击的元素。然后,通过为 window.onbeforeunload 提供代码,我们可以指定新的行为来检查最后点击的元素的 href。万岁,啤酒!
这里的代码将为您提供您想要的确切信息,在纯 javascript 中并且没有在您的锚标签中添加任何内容。我还输入了 preventDefault() ,它会弹出“此页面要求您确认是否要离开 - 您输入的数据可能不会被保存。” 确认框。希望这会有所帮助 - 你可以从这里弄清楚该怎么做。
<!DOCTYPE html>
<html lang="en">
<head>
<title>12065389</title>
<meta charset="utf-8">
<script type="text/javascript">
var last_clicked;
window.onclick = function(e) {
last_clicked = e.target;
return true;
}
window.onbeforeunload = function(e) {
var e = e || window.event;
if (last_clicked.href) {
alert(last_clicked.href);
e.preventDefault();
}
}
</script>
</head>
<body>
<a href="http://google.com">google</a>
</body>
</html>