我想在产品页面上向用户显示特定的 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 进入主页,然后访问产品页面,则无法识别他们。
最佳答案
建议可以使用 localStorage
保留标志,这样当用户第一次访问您网站的任何部分时,请像您一样检查引荐来源网址,但如果引荐来源网址检查,请添加此代码段作为 Facebook,
localStroage.setItem('from_facebook', true);
然后在您的产品页面上检查该 key 是否存在,
if (localStorage.getItem('from_facebook') !== null) {
/** Show DIV. **/
}
很明显,现在即使他们不是来自 Facebook,它也会显示它(意思是如果他们来过一次,那么他们将永远看到它),所以您可以做的是在您的产品页面上添加以下代码段显示 div 后,
localStorage.removeItem('from_facebook');
现在它将显示 div,然后 from_facebook
将从存储中删除,所以现在它取决于每个请求。
关于javascript - 仅向来自 Facebook 的用户显示 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881996/