【问题标题】:Show DIV to users who came from Facebook only仅向来自 Facebook 的用户显示 DIV
【发布时间】:2017-08-25 12:57:53
【问题描述】:

我想在产品页面上向用户显示特定的 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 来到主页,然后访问产品页面,则不会被识别。

【问题讨论】:

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

标签: javascript jquery referrer


【解决方案1】:

建议可以使用localStorage 保留标志,因此当用户第一次访问您网站的任何部分时,请像您一样检查引荐来源网址,但如果引荐来源网址签出为 Facebook,请添加此 sn-p ,

localStroage.setItem('from_facebook', true);

然后在您的产品页面上检查该键是否存在,

if (localStorage.getItem('from_facebook') !== null) {
    /** Show DIV. **/
}

现在很明显,即使他们不是来自 Facebook,它也会显示它(这意味着如果他们来过一次,那么他们就会一直看到它),所以你可以做的是在你的显示 div 后的产品页面,

localStorage.removeItem('from_facebook');

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-26
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2011-03-02
    相关资源
    最近更新 更多