2011-09-27 25 views
0

我在滾動的時候遇到了一些問題。我正在爲Facebook開發一個論壇應用程序,我試圖讓頁面滾動到頁面上的最新帖子(如果用戶希望的話)。當我通過AJAX在同一頁面加載主題時,我可以做到這一點沒有問題,但如果用戶想要首先在新頁面中打開主題,則會遇到問題。jQuery:Onload滾動到對象

我的問題是,我不能讓代碼等待文檔完成加載後才執行(因此頁面未完全加載並且函數失敗)。我完全知道你現在在想什麼,並且$(document).ready()$(window).ready()都沒有工作。問題在於,這是一個Facebook應用程序,我無法訪問父框架(因爲所有應用程序都通過iframe加載)。幸運的是,我可以在AJAX調用之後運行該函數,並且它工作正常(因爲我可以等到內容完全加載時)。不過,我在新標籤中打開主題肯定有問題。

無論如何,必須有一種方法來告訴我的框架何時完全加載,以便我可以啓動該功能來滾動到一個對象。任何人都可以給我一些想法來嘗試一下嗎?

+0

爲什麼不打電話給document.ready裏面的函數 – zod

+0

如果你看過這篇文章,那就好了。 – Phillip

回答

2

我想出了這個問題。我通常異步加載Facebook JS SDK,導致能夠使用這些函數的延遲。我會打電話給他們,但他們還沒有加載。我使它同步加載並解決問題。

0

跨域的東西使這個尷尬。一個hackish的解決方案將包括在你的iframe內容的最底部的腳本塊將觸發滾動:

<script type="text/javascript"> 
    scrollToPost(); 
</script> 

由於該腳本加載和執行的最後一件事,你會不會有你有問題以上。

您也可以嘗試使用iframe.onload處理程序來獲得更乾淨的解決方案,但我認爲您會再次討論跨域問題。

+0

已經嘗試這個不幸的是:/ – Phillip