2014-07-22 4 views
0

이 문제는 스택 오버플로에서 여러 번 해결되었지만 완전히 해결되지는 않았습니다.iOS HTML Web App (PhoneGap) over 스크롤

문제는 iOS를 사용하면 웹 앱의 머리글과 바닥 글이 끔찍한 웹 페이지를 "지나치게 스크롤"할 수 있다는 것입니다. 간단한 해결 방법은 브라우저가 '터치 이동'으로 아무 것도하지 못하게하는 것입니다.

이 (커피 스크립트에서) 간단한 해킹 : 콘텐츠가있는 경우에서 서로 헤더 및 스크롤 할 필요가 바닥 글 일부를 가질 수 있도록이 문제가있다, 지금

$('body').on 'touchmove', (e) -> 
    e.preventDefault() 

간단한 논리는이 문제를 해결하려면 :

.content { 
    overflow-y: scroll; 
    -webkit-overflow-scrolling: touch; 
} 
:

$('body').on 'touchmove', (e) -> 
    if not $('.content').has($(e.target)).length 
    e.preventDefault() 

측면 노트 모멘텀 스크롤을 얻을 수있는 좋은 약간의 트릭은 CSS의 구덩이이다 (다만 케이스에 관련 될 일이)

현재 문제는 현재 스크롤 위치가 맨 위에 있고 위로 당겨 (아래로 당겨) 스크롤하면 오버 스크롤되어 머리글이 아래로 당겨집니다. 다른 점은 똑같습니다. 내용보기가 맨 아래로 스크롤되고 추가로 스크롤하려고하면 바닥 글이 위로 당겨 지나치게 움직입니다. 이제는 스크롤을 사용하여 iPhone 또는 iOS Simulator에서 터치 스크롤을 의미합니다.

그래서이 과도한 회전을 방지하려면 어떻게해야합니까? 의사의

그것의 간단한 :

if at the top and scrolling up or at the bottom and scrolling down 
    e.preventDefault 

나는이에 문제의 모든 종류가 있어요.

답변

1

당신은 코르도바 config.xml에

<preference name="DisallowOverscroll" value="true" /> 

당신은 당신의 설정에 위의 줄을 추가하고 오버 스크롤 기능이 비활성화되어 빌드를 만들

이를 비활성화 할 수 있습니다! 그래서 이것을 고칠 자바 스크립트가 필요 없습니다 .. 휴!

+0

phew! 대단히 감사합니다. – Chet