在fb_close和fb共享之后,从rails中的控制器调用js函数

时间:2014-06-04 10:37:43

标签: javascript ruby-on-rails ruby facebook ruby-on-rails-4

在我的一个应用程序中使用fbshare选项。我实现了它像

<li class="facebook">
            <a href="javascript: void(0)" onclick="window.open('https://www.facebook.com/dialog/feed?app_id=<%= FACEBOOK_APP_KEY %>&amp;display=popup&amp;description=<%= $fb_share_text %>&amp;name=<%= $fb_share_name %>&amp;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函数

1 个答案:

答案 0 :(得分:1)

使用会话变量和ajax请求或关闭你的父div或在同一个窗口中打开它

   <a href="javascript: void(0)" onclick="window.open('https://www.facebook.com/dialog/feed?app_id=<%= FACEBOOK_APP_KEY %>&amp;display=popup&amp;description=<%= $fb_share_text %>&amp;name=<%= $fb_share_name %>&amp;picture=<%= request.base_url %>redirect_uri=<%= FB_CALL_BACK_URL %>','sharer','toolbar=0,status=0,width=548,height=325','_self")">

它将在同一窗口中打开。