【问题标题】:Increase variable if an action has happened如果动作发生则增加变量
【发布时间】:2016-07-21 11:29:46
【问题描述】:

我目前正在开发一个网站,在这个网站上我有一个 Facebook 分享按钮和一个 Twitter 推文按钮。然后我将 javascript 变量设置为 0,现在我遇到的问题是我想检查一个人是否在 Facebook 上分享并在 Twitter 上发了一条推文,方法是在 Facebook 上分享时将变量增加 1 并增加发推文时为 1,然后如果变量为 2,那么我想创建一个弹出窗口。

我得到了这个 Facebook 按钮

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/da_EN/sdk.js#xfbml=1&version=v2.5";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

然后我有推特按钮

<div id="twitbut">
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://weiskleint.com/" data-text="Sign up for this awesome brand launching soon!" data-via="Weiskleint" data-hashtags="weiskleint">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
</div>  

最后是我在同一个 html 脚本中的 Javascript 变量

 <script type="text/javascript">
            var shares=0;

            if (shares == 2)

        </script>

我的问题是我不确定如何检查一个人是否在 Facebook 或 Twitter 上分享过,但我认为我必须在按钮代码中获取变量,然后当一个人点击该按钮时它会增加变量。但是,如果我这样做,您是否只需单击按钮,然后该人就不必分享实际的帖子?这是一种目标。

如果有点混乱,我很抱歉,但简单来说,我想做的是让用户在 Facebook 和 Twitter 上分享,如果这个人这样做,他们将获得优惠券代码。然后,此代码将弹出。

提前致谢。

【问题讨论】:

  • if (shares = 2) ==> if (shares == 2)
  • 您可能只需要两个变量 sharedFacebooksharedTwitter 以避免在一个站点上共享两次并且共享等于 2 的任何问题。
  • @IrkenInvader 因此,与其将其作为数字,我将只有两个布尔变量。一个对 sharedFacebook 说假和真,一个对 sharedTwitter 说假和真的,我说对了吗?然后我会让 Facebook 分享和 Twitter 推文按钮将这些变量更改为 true?那么唯一的问题是我如何让按钮这样做。
  • 是的,先把它们都设为假,然后在分享后打开它们。点击任一分享按钮后拥有if(sharedFacebook &amp;&amp; sharedTwitter) showCouponPopup()。不确定是否确保他们真正分享而不是仅仅点击按钮。
  • “然后这个人就不必分享实际的帖子了吗?这是一种目标。” - 你应该停在那里 - 你试图做的事情是 Facebook 不允许的。 developers.facebook.com/policy#properuse, 4.5 // 而且 Like-Gating 也不再允许了。

标签: javascript html facebook twitter


【解决方案1】:

基于订阅按钮点击事件的方法不可靠。您绝对不知道用户是否喜欢您的页面。

如果您出于商业目的这样做,请停止!

了解用户是否喜欢您的页面的唯一安全方法是让他通过 facebook/twitter 进行身份验证,然后询问他们的 api。

我认为你应该看看: https://developers.facebook.com/docs/graph-api/reference/user/likes/

【讨论】:

  • 该信息非常感谢,因为我将把它用于企业,它只是一个电子邮件注册活动,将运行一周,所以真的没有必要。但是你说如果用户喜欢这个页面,分享也是这样吗?我只想知道用户是否分享了链接以产生弹跳效果。
  • “知道用户是否喜欢你的页面的唯一安全方法是让他通过 facebook/twitter 进行身份验证,然后询问他们的 api”——但 Facebook 不会批准您的应用程序向用户请求必要的许可,以了解他们是否喜欢特定页面。不再允许以任何方式、形状或形式进行“Like-Gating”。
  • CBroe 好吧,上面的 fb doc 的链接告诉我们一个用于获取用户喜欢的页面的 API。应该有一种方法可以检查我们的页面是否存在于返回的 JSON 中。 DevLiv : 但 CBroe 是对的,现在不再鼓励这种做法了。
  • @dvxam:我没有说API不提供;但是如果您的应用尝试将其用于检查用户是否喜欢单个特定页面的单一目的,则 Facebook 不会批准使用必要的权限 in review。这里明确说明,developers.facebook.com/docs/facebook-login/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 2015-01-02
相关资源
最近更新 更多