如何设置用户引用的变量
How to set a variable a users referal
我正在尝试创建一些统计信息,需要打印用户引用站点或搜索关键字。如何使用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;
});
相关文章:
- 引用对象中的通用值
- 如何在JavaScript中将字符串转换为函数引用
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 在动态创建的元素上获取对特定选择器的引用
- 如何通过向用户推送模式引用来更新用户对象's数组字段
- 用户输入的动态表,单元格id作为网格引用
- 如何将用户会话保存在PHP中的一个变量中,以便在JavaScript中引用
- 在构建网站时,我应该在特定用户控件或母版页中引用 JavaScript 库
- 如何保存引用用户对象的分析对象
- 如何在页面上引用多个相同的用户控件
- 未捕获引用错误:<我的用户脚本定义的函数>未定义
- 用户控制上的链接在同一页面中被多次引用
- parse.com引用错误:用户未定义
- 引用解析.后台作业中的用户
- 保持对每个用户连接套接字的引用
- 在Express中使用Mongoose将一个模型引用到一个用户模型
- 如何让grunt用户更新JS来引用我们的图像
- 如何设置用户引用的变量
- 未捕获的引用错误: 未定义注册用户帐户
- 获取用户IP, user_agent,通过websocket引用