Я пытаюсь использовать JavaScript FullScreen API, используя обходные пути для текущих нестандартных реализаций отсюда:
https://developer.mozilla.org/en/DOM/Using_full-screen_mode#AutoCompatibilityTable
К сожалению, это ведет себя очень неустойчиво. Я только забочусь о Chrome (используя v17), но, поскольку у меня были проблемы, я сделал некоторые тесты в Firefox 10 для сравнения, результаты схожи.
В приведенном ниже коде пытается установить браузер в полноэкранный режим, иногда он работает, иногда нет. Он ВСЕГДА вызывает предупреждение, чтобы указать, что он запрашивает полноэкранный режим. Вот что я нашел:
- Он USUALLY устанавливает полноэкранный режим. Он может перейти в состояние, в котором это перестает работать, но предупреждение все еще происходит, то есть оно все еще запрашивает FullScreen, но оно не работает.
- Он может работать, если вызван из обработчика нажатия клавиш (document.onkeypress), но не при вызове при загрузке страницы (window.onload).
Мой код выглядит следующим образом:
function DoFullScreen() {
var isInFullScreen = (document.fullScreenElement && document.fullScreenElement !== null) || // alternative standard method
(document.mozFullScreen || document.webkitIsFullScreen);
var docElm = document.documentElement;
if (!isInFullScreen) {
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
}
else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
alert("Mozilla entering fullscreen!");
}
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
alert("Webkit entering fullscreen!");
}
}
}