在我的网站上,我希望访问者只有在他们通过按下类似按钮在Facebook上分享我的网站后才能访问某些内容。我想知道如何让内容只对按下了类似按钮的用户可见。
答案 0 :(得分:0)
这种方法有两种方法,这两种方法都不会让你达到你想要的100%。
您可以通过FB.Event.subscribe收听edge.create
个活动。触发后,您可以从display:none
或类似元素中删除div
属性。这样做的缺点是,任何查看来源的人都可以看到隐藏的内容。
该edge.create
事件的另一个选项是您可以通过AJAX提取内容,这会使事件被触发,直到事件被触发为止。
整个edge.create
活动的问题是,一旦有人重新访问您的网页,edge.create
活动就无法检测到此人已经喜欢您的网站,因此隐藏的内容不会得到显示。
解决方法是请求user_likes
权限。完成后,您可以使用JS-SDK调用/me/likes/<your_page_id>
。如果我们返回一个空数组,他们不喜欢该页面,你不会加载内容。如果他们这样做,我们将返回页面上的数据,因此您将显示它。
该方法的问题在于您需要使用Facebook登录。一般情况下没有什么问题,但权衡是转换的下降,这可能不值得隐藏一些内容,但这取决于你。