#javascript #jquery #html #dom
#javascript #jquery #HTML #dom
Вопрос:
У меня есть iframe:
....
<div style="height:500px;width:500px;background:black" class="embed-responsive">
<iframe src="widget.html" width="100%" height="100%" class="embed-responsive-item" allowfullscreen webkitallowfullscreen mozallowfullscreen frameborder="0"></iframe>
</div>
....
В widget.html У меня есть кнопка для открытия и закрытия полноэкранного режима.
function closeFullScreen () {
if(document.exitFullscreen) {
document.exitFullscreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
function openFullScreen () {
var iframe = parent.document.getElementsByTagName("iframe")[0];
if (iframe.requestFullscreen) { /* Firefox */
iframe.requestFullscreen();
} else if (iframe.webkitRequestFullscreen) { /* Chrome, Safari amp; Opera */
iframe.webkitRequestFullscreen();
} else if (iframe.mozRequestFullScreen) { /* Firefox */
iframe.mozRequestFullScreen();
} else if (iframe.msRequestFullscreen) { /* IE/Edge */
iframe.msRequestFullscreen();
}
}
Я могу открыть полноэкранный режим, но не закрывать его?
Кто-нибудь может мне помочь?
Комментарии:
1. Невозможно увидеть без того, где вы выполняете closeFullScreen — например, в unbeforeunload или что-то в этом роде
2. Я вызываю функцию из содержимого iframe…
3. Я решил с помощью query-fullscreen-plugin: github.com/kayahr/jquery-fullscreen-plugin/blob/master/demo /…
Ответ №1:
из MDN :
Свойство fullscreenEnabled, доступное только для чтения, в интерфейсе документа указывает, доступен ли полноэкранный режим.
источник: MDN
По сути, это означает, что выполняемый вами вызов с document.fullscreenEnabled
на самом деле не проверяет, есть ли активный iFrame, у которого открыт весь экран. Скорее, он спрашивает «Доступен ли в документе полноэкранный режим?».