Javascript 向仅来自Facebook的用户显示DIV
我想在产品页面上向用户显示一个特定的DIV,前提是用户来自Facebook 目前,我用这个来确认他们来自Facebook:Javascript 向仅来自Facebook的用户显示DIV,javascript,jquery,referrer,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 a
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);
然后在产品页面上检查该密钥是否存在
if (localStorage.getItem('from_facebook') !== null) {
/** Show DIV. **/
}
很明显,现在即使他们不是来自Facebook,它也会显示出来(这意味着如果他们来过一次,那么他们就会一直看到),所以你可以在显示div后在产品页面上添加以下代码片段
localStorage.removeItem('from_facebook');
现在它将显示div,然后将从存储中删除来自facebook的
,因此现在它取决于每个请求。在每个页面上运行此代码,并将值保存在带有日期信息的cookie中,然后检查产品页面上与日期甚至时间匹配的cookie。如果我知道如何使用localstorage,我会给你一个建议哈哈