2010-12-21 56 views
0

正試圖建立一個Facebook畫布應用程序(IFRAME)。 到頭部我們有xfbml like(FB:like) 通過頁面中間我們有一個FQL調用來查看用戶是否喜歡特定的粉絲頁面(這個應用程序直接從粉絲頁面鏈接) 如果用戶已經喜歡該頁面,他們可以看到X的內容,如果沒有,他們會看到Y內容 - 如果工作正常,那部分我正在努力的是讓頁面在用戶點擊之後自動刷新他們可以看到X的內容。 如果他們做手動刷新工作 所以,試圖添加一個java事件訂閱,我猜測監測頁面的onclick場景.....刷新Facebook之後像點擊

這種作品,但我得到一個Firefox彈出要求在頁面刷新之前重新發送數據。

當前應用程序頁面:apps.facebook.com/marqueenightclub/ 我們正在試圖模仿的工作流程與此類似歐萊雅的應用程序:點擊喜歡的內容之前 apps.facebook.com/menexpertwhiteactiv/ 用戶seesY內容,點擊像然後觸發X內容

任何幫助表示讚賞 - 關於託尼

回答

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與你想要什麼(或者叫窗口。位置='你的URL',但是這將會整頁刷新)

2

如果你想做一個完整的頁面刷新,例如。如果你正在做的事情與服務器端的SDK,您可以使用下面的代碼:

FB.Event.subscribe('edge.create', function(response) { 
     top.location.href = "http://www.facebook.com/yourpagename/app_yourappid" 
}); 

你基本上只需要在您的應用程序在Facebook上的網址硬編碼。 這是因爲window.reload()不會工作,也不會top.location.href = top.location.href。