我正在尝试构建一个Facebook画布应用程序(iframe)。 到头部我们有xfbml像(FB:like) 通过页面中途我们有一个FQL调用,看看用户是否喜欢特定的粉丝页面(此应用程序直接从粉丝页面链接) 如果用户已经喜欢该页面,他们就会看到X内容,如果不是,他们就会看到Y内容 - 如果工作正常,该部分 - 我正在努力的部分是让用户点击后自动刷新页面他们可以看到X内容。 如果他们做手动刷新工作 所以,尝试添加一个java事件订阅,我猜这个订阅监视页面的onclick场景......
这种方法有效,但是我会在页面刷新之前弹出一个要求重新发送数据的firefox。
目前的应用页面为:apps.facebook.com/marqueenightclub/ 我们试图模拟的工作流程类似于这款L'oreal应用程序: apps.facebook.com/menexpertwhiteactiv/ 在点击内容之前,用户看到内容,点击然后触发X内容
任何帮助表示感谢 - 关于托尼
答案 0 :(得分:2)
如果您想进行整页刷新,例如。如果您正在使用服务器端SDK执行某些操作,则可以使用以下代码:
FB.Event.subscribe('edge.create', function(response) {
top.location.href = "http://www.facebook.com/yourpagename/app_yourappid"
});
你基本上只需要在你的应用程序的网址上硬编码。 这是因为window.reload()不起作用,top.location.href = top.location.href也不会。
答案 1 :(得分:0)
如果您使用的是Javascript SDK,则应该可以订阅edge.create操作,例如:
FB.Event.subscribe('edge.create',
function(response) {
// Do something here
}
);
请参阅https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/
在你的功能中(在上面做“做一些事情”)你需要发出一个ajax请求来获取你的数据并用你想要的东西替换DOM中当前的东西(或者调用window.location ='你的URL' ,但这将进行整页刷新)