在我的移动应用中,我想在用户向上滑动时切换全屏。
因此,当触发touchend事件时,我会呼叫document.documentElement.webkitRequestFullScreen();
问题是它不适用于移动版Chrome 56+。

这是例子。
https://jsfiddle.net/ibmw/tnncaxj0/6/

有趣的部分是:仅当您在touchstart和touchend之间进行touchmove时,才会出现此问题。

在控制台中,我出现了一个错误:


  无法在“元素”上执行“ requestFullscreen”:API只能是
  由用户手势启动。
  document.documentElement.webkitRequestFullScreen();


有人知道如何挣扎吗?

最佳答案

您必须在touchmove上调用preventDefault(),然后将new option传递给addEventListener()。它对我有用:

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

function onTouchMove(e) {
  e.preventDefault
}

关于javascript - Chrome上的全屏事件在Chrome上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42945378/

10-09 22:56