我想在产品页面上向用户展示特定的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进入主页然后访问产品页面,则无法识别它们。
答案 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
将从存储中删除,所以现在它取决于每个请求。