2012-05-30 81 views
1

我在Facebook上開發了一個應用程序頁面,當然生活在iFrame。我希望能夠在頁面滾動時(主頁面/畫布頁面)影響iFrame內容中的元素。使用jQuery內容頁中的代碼是:需要在Facebook上捕獲滾動事件的解決方案iFramed應用頁面

parent.$(window).scroll(function(){ 
    do something 
}); 

在正常情況下的iFrame和父窗口都在同一個域中這會工作,但由於不同的域之間的安全限制,這不允許。我已經廣泛地搜索網頁,並沒有找到任何解決方案。是否有任何跨域修復或者任何對此進行編碼的方式來簡單地允許捕獲主頁面的滾動事件?

回答

0

我已經廣泛地與這個確切的問題作鬥爭。對於我的情況,我想刪除滾動條,並在用戶頁面切換時滾動到頁面頂部。我在/ head標籤之前使用了該代碼。

<script type="text/javascript"> 
window.fbAsyncInit = function() { 
    FB.Canvas.setSize({height: 1000}); 
    FB.Canvas.scrollTo(0,0); 
} 
</script> 

正如您所瞭解的,這個問題是跨站點攻擊。所以,Firefox例如不允許任何這樣的屬性。這完全取決於你想要做什麼。如果您回覆更多關於您正在嘗試執行的操作的更多信息,或許我可以提供更多建議。真正的底線是,你將不得不創造一些破解來完成你的任務,完全有可能你的任務根本不可能發生。我對這一改變感到非常沮喪。我認爲Chrome也不贊成使用此功能,並且很快將它們全部停止。

布蘭登

相關問題