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