我不确定这样做的方法是检查Google Analytics cookie还是跟踪用户从哪里来到我的网站。基本上我有一个带有隐藏字段的表单code="XY1"
现在我需要能够为来自Facebook的人插入不同的预设代码,因此脚本必须检查访问者来自哪里,然后将代码XF1分配给FB中的任何一个,并将代码XT1分配给Twitter中的任何一个, 等。
像这样的东西会用于捕获吗?
$referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
if ( stristr( $referringPage['host'], 'facebook.com' ) )
或者这个 JS
var ref = document.referrer;
if (!ref.indexOf("facebook.com") != -1) {
document.write(...)
}
我不确定最好的方法是什么,什么样的方法可以可靠地检查访问者的来源,所以任何帮助将不胜感激。
您可以使用 $_SERVER['HTTP_REFERER']
,但不能保证它是准确的,甚至不存在。并非所有浏览器都必须设置它,有些浏览器允许您自己设置它。谷歌cookie不会包含任何网站历史记录,并且您无法检查浏览器历史记录,因此无法保证可以执行您的要求。
您可以使用 jquery $.test() 方法尝试此选项。
$(function(){
var referer=document.referrer, //option 1
//referer="<?php echo $_SERVER['HTTP_REFERER'];?>",//optional 2
XFB=/facebook.com/g,
XFT=/twitter.com/g,
checkF1=XFB.test(referer),
checkF2=XFT.test(referer);
if(checkF1){
var code= "XF1";
$('#hiddenInput').attr('value','ref: '+referer)
}
else if(checkF2){
var code= "XT1";
$('#hiddenInput').attr('value','ref: '+referer)
}
});