Запрос полноэкранного обновления данных (HTML-холст) в теге объекта - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть кнопка на странице просмотра, которая делает тег объекта с id игрой на весь экран.

view.html

<object id="game" src="url/file.html"></object>
<span onclick="fullScreen()"></span>

main.js

function fullScreen() {
var elem = document.getElementById("game");
if (elem.requestFullscreen) {
    elem.requestFullscreen();
    document.addEventListener('fullscreenchange', fullScreenExit, false);
} else if (elem.msRequestFullscreen) {
    elem.msRequestFullscreen();
    document.addEventListener('fullscreenchange', fullScreenExit, false);
} else if (elem.mozRequestFullScreen) {
    elem.mozRequestFullScreen();
    document.addEventListener('mozfullscreenchange', fullScreenExit, false);
} else if (elem.webkitRequestFullscreen) {
    elem.webkitRequestFullscreen();
    document.addEventListener('webkitfullscreenchange', fullScreenExit, false);
}
}

Проблема

Когда нажата кнопка fullscreen, она работает нормально и делает игру полноэкранной НО обновляет ее. Таким образом, если пользователь находится на полпути в игре на уровне 2 и решает перейти в полноэкранный режим, он перезапускает игру (загружает объект снова).

1 Ответ

0 голосов
/ 18 сентября 2018

Я полагаю, вы испытываете это в Chrome или другом браузере Webkit / Blink?

У них странное поведение в отношении <object>, когда они выгружают его содержимое, когда элемента больше нет в документе (или даже просто с style=display:none; ...

Это имело бы смысл и здесь, так как элемент фактически отсоединен от активного документа.

Думаю, вы вряд ли что-то можете сделать, хотя вы можете подать отчет об ошибке, я настоятельно рекомендую вам попробовать вместо <iframe>, который не страдает от этой ошибки нескольких лет ...

Ps: data="url для , а не src="..

...