Я обманываю, чтобы перефразировать вопрос после нескольких часов попыток взлома и исправлений, без конечного результата.Я использую SCREENFULL npm для этого.
Это веб-приложение представляет собой полноэкранный интерактивный интерфейс для системы меню, используемой сотрудником.Я хотел либо запустить приложение в полноэкранном режиме после загрузки, либо определить, отображать ли в полноэкранном режиме кнопку подсказки для включения полноэкранного режима и запустить приложение.Ни один из них, похоже, не выполняет эту работу вообще.
Мои попытки включали:
goFullScreen (){
screenfull.request();
}
<button onClick={(e) => this.goFullScreen()}> enable full screen </button>
работает отлично.Выходит на весь экран.Теперь нужно определить, отображать ли приложение (страница входа, меню и т. Д.) Или только полноэкранную кнопку (таким образом, приложение можно просматривать только в полноэкранном режиме).
screenfull.on('change', () => {
if (screenfull.isFullscreen) {
console.log("it freaken works");
return (
<h1> hi </h1>
)
} else if (!screenfull.isFullscreen) {
// display button to go fullscreen
}
});
Не возвращает <h1> hi </hi>
или что-либо еще в пределах возврата, но консоль ведет журнал.Странный.
ОБНОВЛЕНИЕ:
Я решил попробовать DidComponentMount
(вместе с событиями onLoad javascript):
componentDidMount () {
screenfull.request();
console.log("request happened");
}
Ну, запрос действительно произошел, нополноэкранный режим не включен.После отладки проверки ошибок я получаю ошибку webkitfullscreen с помощью детектора ошибок экрана, включенного в пакет.
Я понятия не имею, почему это не сработает, даже если это так сложно.
Есть ли способ обойти это, или я просто усложняю ситуацию?
Это веб-приложение работает только на планшете Android и в браузере Google Chrome.