gpt4 book ai didi

javascript - JS : How to track click on links without losing the back button

转载 作者:行者123 更新时间:2023-11-28 16:27:53 24 4
gpt4 key购买 nike

我有一个嵌入在随机站点中的 js 小部件。

当用户单击链接时,我想将其报告给我的服务器。

为了调用我的服务器,我使用 src 动态创建一个标签,其中包含报告给服务器的参数。

如果我在 onclick 事件上执行此操作并从 onclick 返回 true,服务器可能不会收到调用,因为浏览器更改了页面(这是正确的吗?)。

如果我在 onclick 上执行此操作并返回 false,然后在返回对服务器的调用后使用重定向,我将失去后退按钮功能,因为 IE 等浏览器不支持重定向后的后退按钮。

知道如何以稳健的方式做到这一点吗?

最佳答案

没问题。如果将 onclick 处理程序添加到 <a>将 AJAX POST 发送到服务器(注册点击)的元素,这将到达服务器,页面仍将移至单击的链接,并且后退按钮将按预期工作。

jQuery 示例:

$('a').live('click', function () {
$.post('/registerclick/', { data: $(this).attr('src') }, function () {});
});

之所以有效,是因为 HTML 中的客户端/服务器模型指定,当请求发送到服务器时,无法取消。因此以下规则适用:

  1. 事件处理程序关闭,并向服务器发送请求
  2. 默认浏览器行为会将用户重定向到 href 中的页面属性
  3. 即使用户位于完全不同的页面,服务器也会收到请求

浏览器不知道第三步;但这对服务器来说并不重要。

关于javascript - JS : How to track click on links without losing the back button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7330576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com