2010-06-07 15 views
2

이것은 Chrome과 Safari에서만 발생합니다. 착륙을 연 후, post your apartment 클릭 http://jqeedu.tuxfamily.org/pmr/왜이 페이지가 자동으로 아래로 스크롤됩니까?

, 양식이 아약스를 통해로드되고 페이지가 자동으로 아래로 스크롤하고 스크롤하면, 다시 바닥에 반환이 문제의 페이지입니다!

이 문제의 원인은 무엇입니까?

편집 :
죄송합니다. 몇 시간을 기다렸다가 수정해야하므로 수정을 시도하고 몇 가지를 변경하고 궁극적으로 문제를 해결했습니다. 내가 과정에서 배운 것은 이것이다 :

  1. 은 우리가 페이지 새로 고침없이 사진을 업로드 할 수 있도록, 업로드 폼의 target 역임 페이지에 제로 폭과 높이 iframe했다. 이 iframebody의 마지막 요소입니다. 그 자리를 최상위로 바꿨을 때, 스크롤링은 아래쪽 위치를 고집하는 것에서 페이지 상단 위치를 고집하는 것으로 변경되었습니다. 이제 페이지는 페이지를 아래로 스크롤 할 수 없습니다!
  2. 그것은 좋은 소식이었습니다. 지금은 그것이 무엇이든지 알았 기 때문에, 그것은 iframe에 기인했습니다. iframesrc 특성은 #으로 설정되었습니다. 나는 이것을 의심하고 실제 파일 (빈 html 프레임)을 가리 키도록 변경하여 파일을 만들고 문제가 사라졌습니다!

그래서, 내 분석은 이것이다 : 브라우저는 loadingiframe에 파일 내용이 실행 남아 loading 책임을 맡은 프로세스를 내동댕이. 이 과정은 어떻게 든 iframeviewport을 벗어나는 영역으로 스크롤하지 못하게합니다. 이는 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

+0

감사합니다. Kinlan, 문제가 해결 된 후 페이지로 이동했습니다. 위의 설명을 읽으십시오. –

답변

3

Safari 5에서도 잘 작동합니다. 어쩌면 폼의 맨 아래에있는 요소가 포커스를 받고있어 페이지를 스크롤 할 수 있습니다.

+0

팀, 페이지를 사용해 주셔서 감사합니다. 실망한 것에 대해 사과드립니다. 위의 편집을 참조하십시오. 페이지를보기 전에 답변을 찾은 다음 해결했습니다. –

+0

감사합니다.그게 바로 내가 여기서 가지고 있었던 문제였습니다. 나는 페이지의 첫 번째 입력에 초점을 맞추기위한 일반적인 기능을 가지고 있었고, 특정 페이지에서 유일한 입력은 페이지의 하단에 제출했다. –

관련 문제