如何在转到链接中的 URL 之前将所有单击的链接发送到页面

How to send all clicked links to a page before going to the URL in the link

本文关键字:链接 单击 接发 URL      更新时间:2023-09-26

>问题:我将如何设置一个页面,以便在单击时所有链接都转到名为query_data.cfm的页面,在该页面中触发数据库查询,并在完成后将用户发送到原始链接的URL?

截至目前,我正在使用javascript向页面上的所有链接添加一个类。

<script>
$(document).ready( function() {
    $('a').addClass("tracker");
});
</script>

但是我还想做的是使与该类的所有链接<a class="tracker" href="www.mywebsite.com/page2.cfm">Page 2</a>例如转到名为 www.mywebsite.com/query_data.cfm 的页面,在该页面中运行查询,将href的值传递给数据库,并在完成后将用户重定向到www.mywebsite.com/page2.cfm

我希望这是足够的信息,但如果我错过了任何东西,请告诉我。

一种方法是简单地更改链接,例如:

<a class="tracker" href="www.mywebsite.com/query_data.cfm?destination=page2.cfm">Page 2</a>

然后所有链接将转到query_data.cfm它将记录#URL.destination#信息,然后将它们CFLOCATION到 #URL.destination#。

编辑:哦,你是同一个人,我的坏。读取故障。

我建议你试试这个:http://jsfiddle.net/xcr56gd1/。

由于您正在使用jquery添加到链接中,因此您可以看到如何使用jquery将href更改为'/r.cfm?d= + $(this).attr('href'),正确编码为url。

$(document).ready(function () {
    $("a").not(".norm").on("click", function(e) {
        alert($(this).attr('href'));
        // The alert just demonstrates that it's working and how to get href.
        // You can call your ajax here.
        e.preventDefault();
    });
});

使用此代码,您可以在所有链接上使用jquery,而无需类"norm",因此,如果您特别希望链接不跟踪,这就是您的方法。