如何从iframe重新加载最顶层的窗口?

Jav*_*eva 4 browser iframe facebook reload

我正在开发一个具有以下"结构"的Facebook应用程序:

Browser window (facebook.com/page/xxxx)
  -- My app's iframe
    -- Like button's iframe
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中使用了Like按钮,因此在iframe中使用iframe,当用户点击like按钮时我想显示内容,以便页面当前看起来像这样:

if ( is_fan() ) {
    //show content
} else {
    //show like button plus other text
}
Run Code Online (Sandbox Code Playgroud)

检查用户是否已经是粉丝的实际逻辑正在按预期工作,问题是当我点击"喜欢"按钮时,我需要重新加载整个页面才能显示"粉丝内容",如果我这样做:

FB.Event.subscribe('edge.create', function(href, widget) {
    top.location.reload();
});
Run Code Online (Sandbox Code Playgroud)

该页面似乎重新加载,但一切都保持不变,但如果我点击"赞"并点击我的浏览器中的刷新按钮一切都显示正常.

任何人都可以帮我解决这个问题吗?

提前致谢!

dra*_*jet 7

我们将facebook父页面引用为top.

top.location.href="";top.location.reload();