Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向仅来自Facebook的用户显示DIV_Javascript_Jquery_Referrer - Fatal编程技术网

Javascript 向仅来自Facebook的用户显示DIV

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

我想在产品页面上向用户显示一个特定的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);
然后在产品页面上检查该密钥是否存在

if (localStorage.getItem('from_facebook') !== null) {
    /** Show DIV. **/
}
很明显,现在即使他们不是来自Facebook,它也会显示出来(这意味着如果他们来过一次,那么他们就会一直看到),所以你可以在显示div后在产品页面上添加以下代码片段

localStorage.removeItem('from_facebook');

现在它将显示div,然后将从存储中删除来自facebook的
,因此现在它取决于每个请求。

在每个页面上运行此代码,并将值保存在带有日期信息的cookie中,然后检查产品页面上与日期甚至时间匹配的cookie。如果我知道如何使用localstorage,我会给你一个建议哈哈