Touch 上的全屏事件在 Chrome 上不起作用
Full Screen event on Touch not working on Chrome
在我的移动应用程序中,我想在用户向上滑动时切换全屏。
所以当 touchend
事件被触发时,我调用 document.documentElement.webkitRequestFullScreen();
问题是它不适用于移动 Chrome 56+.
这是例子。
https://jsfiddle.net/ibmw/tnncaxj0/6/
感兴趣的部分是:只有在touchstart和touchend之间进行touchmove时才会出现这个问题。
在控制台中出现错误:
Failed to execute 'requestFullscreen' on 'Element': API can only be
initiated by a user gesture.
document.documentElement.webkitRequestFullScreen();
有谁知道怎么奋斗吗?
您必须在 touchmove 上调用 preventDefault()
,并将 new option 传递给 addEventListener()
。它对我有用:
addEventListener('touchmove', onTouchMove, {passive: false});
function onTouchMove(e) {
e.preventDefault
}
在我的移动应用程序中,我想在用户向上滑动时切换全屏。
所以当 touchend
事件被触发时,我调用 document.documentElement.webkitRequestFullScreen();
问题是它不适用于移动 Chrome 56+.
这是例子。 https://jsfiddle.net/ibmw/tnncaxj0/6/
感兴趣的部分是:只有在touchstart和touchend之间进行touchmove时才会出现这个问题。
在控制台中出现错误:
Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture. document.documentElement.webkitRequestFullScreen();
有谁知道怎么奋斗吗?
您必须在 touchmove 上调用 preventDefault()
,并将 new option 传递给 addEventListener()
。它对我有用:
addEventListener('touchmove', onTouchMove, {passive: false});
function onTouchMove(e) {
e.preventDefault
}