我怎样才能在JavaScript onbeforeunload事件中获取目标url?
我已经search了几个小时,但我找不到解决scheme。
window.onbeforeunload = warn;
这不起作用:
function warn (e) { var destination = e.href; alert(destination ); }
好吧,清除这些东西。 如果用户点击页面本身的链接,很容易,因为您可以添加一个事件处理程序到所有的链接onclick事件,但是。 我想赶上地址,用户input到浏览器的url框中。
因为它不能做到。 新位置是私人/敏感信息。 没有人希望您知道他们离开您的网站时访问哪些网站。
Kaze的回答是一个有趣的方法,但是当页面离开时查看元素焦点并不是真的可靠。 部分原因是链接点击和离开页面的导航之间存在延迟(在此期间用户可能将焦点移动到某个其他元素,而且还因为链接可能被聚焦(例如,通过键盘控制或mousedown因为如果你关注一个链接然后closures窗口,它会认为你正在关注这个链接。
点击页面上的每个链接(外加每个表单上的提交)稍微可靠一些,但仍然可能因为延迟而被愚弄。 例如,您单击一个链接,但在新页面开始加载之前,点击后退button(或按Escape键)。 同样,如果你closures窗口,它认为你正在关注链接。
我想赶上地址,用户input到浏览器的url框中。
没有办法可能会发生。 这是一个明显的隐私禁止。
如果您只想查看目标链接,可以使用:
document.activeElement.href
但是获得地址线的目的地是不可能的。
我听说过,如果鼠标移动到地址线上(以警告用户有尚未处理的未完成的进程),他们就会触发一个事件,但这种攻击是我永远不会做的。