2010-06-07 113 views
2

這隻會在Google Chrome和Safari中發生。這是有問題的頁面: http://jqeedu.tuxfamily.org/pmr/爲什麼此頁面自動向下滾動到底部?

打開登陸後,點擊post your apartment,一種形式是通過AJAX加載,並且該頁面會自動滾動至底部,如果您滾動起來,再次回到底部!

這是什麼造成的?

編輯:
對不起,但我等了幾個小時,然後因爲它必須修復,開始試驗它,並改變了幾件事情,最終解決了問題。我的過程中認識到這:

  1. 我有這擔當了target上傳的形式,這樣我們就可以上傳照片,而無需刷新頁面在頁面上的零寬度和高度iframeiframebody中的最後一個元素。當我將它的位置更改爲頂部時,滾動從堅持底部位置變爲堅持頁面頂部位置。現在該頁面不允許您向下滾動頁面!
  2. 這是個好消息,因爲現在我知道它是什麼,它是由iframe造成的。 iframesrc屬性設置爲#;我懷疑這一點,並將其改爲指向一個真實的文件(一個空白的html框架),使文件和問題消失!

所以,我的分析是這樣的:瀏覽器卡上loading文件到iframe和負責loading內容保持運行的過程。這個過程不知何故不會讓我們滾動到iframe會從viewport中走出的區域。這是webkit引擎的不良行爲,使用webkit構建的瀏覽器證明了這個問題。

最後,這是下面的代碼片段,顯示iframe更改前後的代碼以及新目標文件的內容。

巴吉:

<iframe id="control_target" name="control_target" src="#" 
style="width:0;height:0;border:0px solid #fff;"></iframe> 

好:

<iframe id="control_target" name="control_target" src="blank.html" 
style="width:0;height:0;border:0px solid #fff;"></iframe> 

blank.html:

<html> 
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
</head> 
<body> </body> 
</html> 

最後,我不喜歡以紀念我自己的答案是公認的答案,所以我把這個問題放在問題的正文中,我等待某人更多地解釋這個問題的本質,或者提供更好的分析秒。如果提供了這樣的答案,我會將其標記爲接受的答案。

+0

我剛剛嘗試過它,它工作正常。使用Chrome(開發頻道) – Kinlan 2010-06-08 08:04:38

+0

感謝Kinlan,在問題修復後您進入了頁面。上面閱讀我的解釋。 – 2010-06-08 19:03:09

回答

3

在Safari 5中也能正常工作。也許表單底部的元素正在接收焦點,這會導致頁面滾動。

+0

蒂姆,謝謝你嘗試的頁面,我很抱歉的失望,請參閱我上面的編輯,我找到了答案,並在你看到頁面之前修復。 – 2010-06-08 19:02:15

+0

謝謝!那正是我在這裏遇到的問題。我有一個通用函數,專注於頁面的第一個輸入,並且在特定頁面上,唯一的輸入是頁面底部的提交。 – 2013-08-15 20:31:48