Как вы получаете полный экран в сафари?
Главным образом по художественным причинам я хочу, чтобы мое слайд-шоу (обычный javascript) работало в полноэкранном режиме. Для браузеров, таких как Internet Explorer, Chrome, Firefox и некоторых других, это, кажется, не проблема, когда они запускаются на компьютерах с Windows: пользователь просто должен нажать клавишу F11, чтобы войти в полноэкранный режим (и снова нажать ее, чтобы выйти из нее), так как он / она проинструктирован сделать предыдущую страницу, представляющую слайд-шоу. [BTW. это единственное "физическое" взаимодействие между зрителем и слайд-шоу: нажатие клавиши также означает "готовность" к просмотру слайд-шоу, удобное сидение на определенном расстоянии от экрана, не слишком близко и т. д.] Для этого и других Причины, по которым я не хочу запускать слайд-шоу автоматически [или щелчком мыши] в полноэкранном режиме.
Как я уже сказал, это прекрасно работает на машине с Windows. Как бы то ни было, это не работает для Safari на Mac: нажатие ^+cmd+F не дает вам полного экрана, насколько я понимаю, поскольку URL моей веб-страницы все еще виден в верхней части экрана, включая строку заголовка. Например:
<A HREF="javascript:slideshow();
self.moveTo(0,0);self.resizeTo(screen.availWidth,screen.availHeight);"></A>
что дает тот же результат: адресная строка и строка заголовка все еще видны.
Если вы хотите посмотреть мое слайд-шоу в полноэкранном режиме в течение нескольких минут, перейдите по ссылке:
http://www.atelierfransvandestaak.nl/slideshow.html
Я искал ответ на нескольких форумах в течение пары месяцев, но тщетно. Теперь я начинаю думать, что дело не в коде, а в определении. Так как то, что дизайнеры Apple называют полноэкранными, на мой взгляд, не совсем полноэкранные. Определения являются стандартными: это означает, что вы не можете их изменить, поскольку остальной мир следует своему правилу. Или ты можешь? Поэтому мой главный вопрос заключается в том, можем ли мы договориться о полноэкранном режиме [например, изображения]. Если нет, вы также не можете его кодировать. Возможно, это уводит нас слишком далеко от директив Stackru, чтобы задавать вопросы [о коде], но я ценю любые предложения или ответы.
Заранее спасибо, wimsch
PS. Причиной нашей проблемы с полноэкранным режимом [=safari не является полный полноэкранный режим, а не с помощью кода JavaScript, даже если это явно указано пользователем << ^ cmd F >>]. Возможно, адресная строка может принимать URL, но также строка поиска. Итак, я думаю, что (быстрый) поисковый движок [Spotlight] связан с адресной строкой, и это может легко объяснить, почему адресная строка остается видимой, не давая сафари перейти в полноэкранный режим Native. Что ты думаешь об этом?
2 ответа
// mozilla proposal
element.requestFullScreen();
document.cancelFullScreen();
// Webkit (works in Safari and Chrome Canary)
element.webkitRequestFullScreen();
document.webkitCancelFullScreen();
// Firefox (works in nightly)
element.mozRequestFullScreen();
document.mozCancelFullScreen();
// W3C Proposal
element.requestFullscreen();
document.exitFullscreen();
Больше информации здесь
Я решил все свои проблемы с помощью этого замечательного пакета https://www.npmjs.com/package/screenfull
Из ридми:
Простая оболочка для кроссбраузерного использования полноэкранного API JavaScript, позволяющая вывести страницу или любой элемент в полноэкранный режим. Сглаживает различия в реализации браузера, поэтому вам не нужно.
Это просто работает, и документация отличная.
Это работает для айфонов. Просто поверните экран виртуальным, а затем верните в горизонтальное положение.
<meta name="viewport" content="width=device-width, user-scalable=0, minimal-ui">