2017-03-22 8 views
0

내 모바일 앱에서 사용자가 스 와이프 할 때 전체 화면을 전환하고 싶습니다.
touchend 이벤트가 발생하면 document.documentElement.webkitRequestFullScreen();이 표시됩니다.
문제는 모바일 크롬 56 이상에서 나에게 적합하지 않다는 것입니다.터치시 전체 화면 이벤트가 Chrome에서 작동하지 않습니다.

다음은 예입니다. https://jsfiddle.net/ibmw/tnncaxj0/6/

관심 분야는 다음과 같습니다.이 문제는 터치 시작과 터치 사이에서 터치 이동을 할 때만 나타납니다.

Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture. document.documentElement.webkitRequestFullScreen();

사람이 그것을 투쟁하는 방법을 알고 있나요 :

콘솔에서

나는 오류가있어?

답변

0

touchmove에서 preventDefault()으로 전화하고 new optionaddEventListener()으로 전달해야합니다. 그것은 나를 위해 작품의 : 사용자가 바로 페이지 주변 스크롤 터치를 사용하는 경우 더 이상 ** 터치 이벤트에 전체 화면을 실행할 수 없기 때문

addEventListener('touchmove', onTouchMove, {passive: false}); 

function onTouchMove(e) { 
    e.preventDefault 
} 
+0

이 ** 작동합니다. 이 코드는 스크롤을 방지하므로 사용자의 스 와이프는 실제 상호 작용으로 처리됩니다. –