在我的一个应用程序中使用fbshare选项。我实现了它像
<li class="facebook">
<a href="javascript: void(0)" onclick="window.open('https://www.facebook.com/dialog/feed?app_id=<%= FACEBOOK_APP_KEY %>&display=popup&description=<%= $fb_share_text %>&name=<%= $fb_share_name %>&picture=<%= request.base_url %>redirect_uri=<%= FB_CALL_BACK_URL %>','sharer','toolbar=0,status=0,width=548,height=325');"></a>
</li>
并返回一个“fb_close”url,我已将其路由到home_controller中名为fb_close的控制器方法。 我的应用程序位于另一个窗口中,此fb_share窗口将作为单独的窗口打开。 我还有一个fb_close.html.erb视图。
<script type="text/javascript">
console.log("b");
self.close();
</script>
一旦fb共享发生就会关闭。
事情是这个控制台打印在打开的窗口上。因为它不是一个ajax调用请求,所以我没有任何成功函数,只要这个fb共享发生就会被调用。 我想在fb_window关闭后立即更新div中的html。有什么方法可以做到这一点。我想要的是在fb_close窗口关闭后立即调用js函数
答案 0 :(得分:1)
使用会话变量和ajax请求或关闭你的父div或在同一个窗口中打开它
<a href="javascript: void(0)" onclick="window.open('https://www.facebook.com/dialog/feed?app_id=<%= FACEBOOK_APP_KEY %>&display=popup&description=<%= $fb_share_text %>&name=<%= $fb_share_name %>&picture=<%= request.base_url %>redirect_uri=<%= FB_CALL_BACK_URL %>','sharer','toolbar=0,status=0,width=548,height=325','_self")">
它将在同一窗口中打开。