这是一个更新,因为Gaby能够帮助我解决我的问题。这现在有效了
演示时间! http://media.apus.edu/it/ref/page1.htm
简而言之 - 当您单击链接时,此代码将动态地将引用URL从第1页发送到第3页。为什么这很重要?
我们无法在第3页上放置分析代码(谷歌分析),因为它是第三方网站。我们现在应该能够跟踪第1页上的潜在客户,这也是第三方网站,当他们点击第2页(我们的网站有谷歌分析),然后点击链接到第3页(第三方网站,不能通过自定义),因为该网站使用自己的分析代码来跟踪活动。
第1页:点击链接,它将转到第2页。
第2页:第2页知道您来自第1页,当您点击它时,会将引用网址从第1页传递到第3页。此外,为链接分配了一个将调用该函数的类,因为我们无法为CMS中的链接分配onclick。此外,Gaby帮助解决了让我多次使用相同ID的问题,现在我只需要使用分配给该链接的类。不再需要ID了......谢谢!这将使我能够在页面上分配任何链接,以便在分配了css类时传递引用URL。
我相信有人会从这个代码中受益...请传递它!
PS。我知道如果第1页来自安全网站,此代码将无效。
埃文
答案 0 :(得分:1)
您可以为链接指定一个独特的类,例如“specialTrick”:
$('a.specialTrick').each(function() {
// do the special trick
});
请注意,依赖“REFERER”非常脆弱,可能不是一个好主意。
答案 1 :(得分:1)
无需通过ID访问元素,因为您希望将相同的逻辑应用于多个项目..(并且您已经可以通过click事件进行访问..)
你的代码应该是
$(document).ready(function()
{
$(".referringClass").click(function(event)
{
if (document.referrer != '')
{
var testing=document.referrer;
var href = $(this).attr('href');
$(this).attr('href', href + "?campaign-id=" + testing );
}
}
);
});
答案 2 :(得分:0)
您不需要任何ID - 当您通过className获取元素来分配点击时,您已经拥有了所需的一切。通过分配点击,您可以访问“this”,从而可以访问所点击元素的所有属性。
所以myTextField实际上是'this',例如。
oldHref = $(this).attr('href');
$(this).attr('href', oldHref + "?campaign-id=" + testing);
无论如何或类似的东西
答案 3 :(得分:0)
很抱歉,我现在无法测试并确认这一点,但您应该使用event.target
http://docs.jquery.com/Events/jQuery.Event#event.target
它看起来像:
$(document).ready(
function()
{
$(".referringClass").click(
function(event)
{
if (document.referrer != '')
var testing=document.referrer
var myTextField = event.target;
myTextField.href=myTextField.href + "?campaign-id=" + testing;
}
);
}
)