javascript - 我怎样才能捕捉到链接的打开情况

标签 javascript jquery

我有一个包含多个链接的 HTML 页面。有没有能力捕捉打开链接的事件?用户只需单击链接即可,也可以通过右键单击在新窗口或选项卡中打开它。

链接引用外部资源,我无法控制其内容。

最佳答案

我能想到一些客户端选项,但都不理想:

  • 您可以替换链接的 hrefjavascript:运行您想要的任何代码的 url,然后导航到正确的 URL ( location.href = "http://example.com" )。但这很糟糕,因为如果用户右键单击 -> 新选项卡或禁用 JavaScript,它就会中断。

  • 您可以为<a>的点击事件添加事件监听器。 。但这不会在右键单击 -> 打开或用户切换并按 Enter 键时触发。

  • 您可以使用 onunload文档本身的事件处理程序,但这不会告诉您用户要去哪里,并且如果用户打开新选项卡则不起作用。

如果您只想跟踪用户导航到的位置,那么服务器端解决方案是唯一万无一失的方法。您必须将用户发送到您自己的服务器,该服务器又会发送 HTTP 302 代码以将浏览器重定向到正确的 URL。当然,这需要比您想要的更多的基础设施。

关于javascript - 我怎样才能捕捉到链接的打开情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22021185/

相关文章:

javascript - Node.js 是否支持 let 关键字?

javascript - 如何将动画设置为图像后面的 div?

javascript - AngularJS 单页应用程序 : Reference Error, ____ 未定义

JQuery 添加/删除链接

javascript - 将多个项目添加到上下文菜单

javascript - 如何使用 jquery 或 java 脚本访问父 div 和最接近该 div 的元素?

javascript - 将节点添加到 Dojo 树

javascript - 静态加载脚本并在加载时运行

javascript - 触发jquery后如何获取返回值?

javascript - 有没有办法在测验中为 div 设置简单的标志以隐藏问题?