首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用户单击"Like“后关闭模式弹出窗口

问在用户单击"Like“后关闭模式弹出窗口
EN

Stack Overflow用户
提问于 2012-02-03 07:36:04
回答 3查看 1.9K关注 0票数 0

我们的站点会弹出一个模式javascript/jquery对话框,要求用户关闭或在facebook上“喜欢”才能继续。我们使用的是"Like“代码的HTML5版本。

" close“可以正常工作,但是当用户点击"Like”时,如何让对话框关闭呢?

真正的“喜欢”按钮是由Facebook在IFrame中提供的,我还不能通过JavaScript访问它。

有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2012-02-03 08:03:32

订阅edge.create FB JS event (http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/)并在收到后关闭弹出窗口。然而,你会遇到问题,因为在点赞之后,Facebook也喜欢建立一个对话框,允许点赞者发布一个关于它的链接到他们的墙上。因此,您可能会因为过早关闭对话框而意外地隐藏了该对话框。

票数 1
EN

Stack Overflow用户

发布于 2012-02-03 08:11:38

首先,检查以下代码是否已实现:

代码语言:javascript
复制
<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/en_GB/all.js#xfbml=1&appId=261463080590982";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

然后只需执行以下操作:

代码语言:javascript
复制
<script>
FB.Event.subscribe('edge.create', function(response) {
close_function()
});
</script>

其中,close_funciton()与您在普通close中调用的函数相同。

有关此功能的更多信息,请访问:https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

如果你有更多的喜欢按钮在同一个页面上不同的“功能”,那是很有趣的。

票数 0
EN

Stack Overflow用户

发布于 2012-02-03 08:54:19

如果你根本不想显示它,你可以使用下面的CSS代码

代码语言:javascript
复制
.fb_edge_widget_with_comment{
  position: absolute;
}

.fb_edge_widget_with_comment span.fb_edge_comment_widget iframe.fb_ltr {
  display: none !important;
}

希望它能有所帮助:)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9121689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档