我正在尝试编写一个JavaScript库,该库需要捕获和处理所有链接导航事件。本质上:
我正在寻找一种既可以捕获静态链接又可以动态生成的链接的解决方案。它还应该最小化可能附加到链接元素上的其他单击处理程序(例如,另一个单击处理程序应该能够在调用我的回调之前取消导航)。
实现此目标的最佳方法是什么?
answer here看起来很有希望,但第二条评论指出了一些警告,但没有解决的办法。尤其需要允许标记包含其他元素,但仍要检测到标记正在导航并检查其是否包含特殊属性。 beforeunload
无法使用,因为它无法停止导航,只能向用户提供提示。
请注意,我不是不是试图阻止从页面外部导航(返回,首页,替换URL),也不必捕获由JavaScript完成的导航(window.location
等)。