如何设置用户引用的变量

How to set a variable a users referal

本文关键字:用户 引用 变量 设置 何设置      更新时间:2023-09-26

我正在尝试创建一些统计信息,需要打印用户引用站点或搜索关键字。如何使用javascript获取用户引用站点或搜索关键字并打印出来?

您可以使用

document.referrer(mdn或w3c上的一些信息(。

编辑:

对于搜索 kewords 在引荐来源网址上工作,例如,在谷歌上搜索"hello world",如果直接搜索(地址栏或搜索栏(,就会给出这样的引荐来源:

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=hello+world

但是在谷歌中搜索hello world输入是用ajax完成的(参数在哈希中的#之后(,并给你一个引用,比如:

http://www.google.com/url?sa=t&source=web&cd=1&ved=0CCQQFjAA&url=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FHello_world&rct=j&q=hello%20world&ei=BkY8TrrHDsPO-QaDxZy8Ag&usg=AFQjCNGUmN0hpMDY4b1b1NVm_LSttMeUdQ&sig2=yngbng_Sdq78v6wEKxHq4Q

因此,您可能只需要搜索&q参数,看看是否有/url?用空格替换%20,否则将+替换为空格:

var keywords= "";
var referrer= document.referrer;
if(referrer.match(/^https?:'/'/(www|encrypted)'.google'.(be|fr|com)'//))
{
  keywords= referrer.replace(/^.+('?.+&q=|'?q=)([^&]*)(&.*|$)$/,"$2");
  if(referrer.match(/^https?:'/'/(www|encrypted)'.google'.(be|fr|com)'/url'?/)) keywords= keywords.replace(/%20/g," ");
  else keywords= keywords.replace(/'+/g," ");
  keywords= decodeURIComponent(keywords);
}

对于雅虎,你会得到一个推荐人,比如:

http://search.yahoo.com/search;_ylt=A0oG7h83TzxOx1MAQUBXNyoA;_ylc=X1MDUCMyNzY2Njc5BF9yAzIEYW8DMQRjc3JjcHZpZANRSWRGdlVvRzd2NlZsSnZ4VFZnV0Rna3FVZmRDVWs0OFR6Y0FCZjNsBGZyA3lmcC10LTcwMQRmcjIDc2J0bgRuX2dwcwMxMARvcmlnaW4Dc3JwBHF1ZXJ5A2hlbGxvIHdvcmxkBHNhbwMxBHZ0ZXN0aWQDVklQMDI2?p=hello+world&fr2=sb-top&fr=yfp-t-701&type_param=

所以你可以添加:

else if(referrer.match(/^http:'/'/search'.yahoo'.com'//))
{
  keywords= decodeURIComponent(document.referrer.replace(/^.+('?.+&p=|'?p=)([^&]*)(&.*|$)$/,"$2").replace(/'+/g," "));
}

decoreURIComponent用于特殊字符(+、#和外来字符(。

您将拥有来自雅虎或谷歌的关键字(但您可以更改谷歌域((be|fr|com)(并处理其他搜索引擎的情况。

var string = document.referrer; 
alert(string);

这将为您提供推荐人网站的地址

引用可以打印为:

document.write(document.referrer); 

您可能想在此处查看文档

要获取引荐来源网址,请使用document.referrer

如果需要使用 JQuery 来执行此操作:

 $(document).ready(function() {
   var referrer =  document.referrer;
 });