如何使用 javascript(或 PHP)将值插入表单中,具体取决于访问者的推荐


How Can I Insert A Value With Javascript (or PHP) Into a Form Depending On Visitor Referral

我不确定这样做的方法是检查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)
}
});