2017-08-25 36 views
3

我只想在产品页面上向用户展示特定的DIV,但前提是他们已经从Facebook获得。仅向来自Facebook的用户展示DIV

目前我使用这个以确认它们从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首先来到FB的主页,然后访问产品页面,则无法识别他们。

+2

在每个页面上运行此代码并将值保存在cookie中,然后使用日期信息检查您的产品页面上的cookie是否符合日期甚至时间。如果我知道如何使用它,我会给你一个关于localstorage的建议 – Huangism

回答

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将从存储所以现在这取决于每个请求被删除。

相关问题