仅向来自Facebook的用户显示DIV

时间:2017-08-25 12:57:53

标签: javascript jquery referrer

我想在产品页面上向用户展示特定的DIV,只有当他们从Facebook到达时才会显示。

目前我正在使用此确认来自Facebook:

var ref = document.referrer;

if (ref.match(/^https?:\/\/([^\/]+\.)?facebook\.com(\/|$)/i)){
    console.log('User arrived from Facebook')
    } else  {
        console.log('User DID NOT arrive from Facebook')
    }

这似乎运作良好,但如果他们首先访问另一个页面则不起作用。因此,如果他们直接进入产品页面,它会识别出来自FB,但是如果有人首先从FB进入主页然后访问产品页面,则无法识别它们。

1 个答案:

答案 0 :(得分:1)

建议可以使用localStorage保留一个标记,因此当用户第一次访问您网站的任何部分时,请检查引荐来源,但如果引荐来源检查为Facebook则添加此代码段,

localStroage.setItem('from_facebook', true);

然后在您的产品页面上检查该密钥是否存在,

if (localStorage.getItem('from_facebook') !== null) {
    /** Show DIV. **/
}

显然,即使他们不是来自Facebook(这意味着他们来过一次,然后他们总会看到它),它会显示它,所以你可以做的是在你的产品页面上添加以下代码段一旦显示div,

localStorage.removeItem('from_facebook');

现在它将显示div,然后from_facebook将从存储中删除,所以现在它取决于每个请求。