Статьи

Fullscreen javascript API або як розгорнути сторінку на весь екран c html5.

  1. Запустити відображення в повноекранному режимі
  2. Вийти з повноекранного режиму
  3. 2 властивості об'єкта document
  4. Подія про зміну режиму
  5. Ну а поки API досить нове, все властивості, події і методи можна використовувати тільки з префіксами (03.2013)
  6. JavaScript
  7. CSS
  8. html
  9. HTML
  10. JavaScript
  11. CSS

Давайте познайомимося з ще одним, досить молодим API, необхідність якого вже давно мучить уми розробників ігор, відеосайтів і інших повноекранних сервісів Давайте познайомимося з ще одним, досить молодим API, необхідність якого вже давно мучить уми розробників ігор, відеосайтів і інших повноекранних сервісів. Fullscreen javascript API поки є чернеткою , Але вже підтримується в chrome, safari, ff і опері.

Internet-explorer (включаючи Ie10) як завжди уповільнює прогрес, ну і нехай собі вмирає.

Без зайвих слів перейдемо до прикладу:

fullscreen API

Специфікація вдає із себе:

  • 2 методу: requestFullScreen і cancelFullScreen
  • 2 властивості обекта document: fullscreenElement і fullscreenEnabled
  • 1 подія fullscreenchange

В ідеальному світі після закінчення суперечок, узгодження всіх питань між браузерами і обкатки стандарту це повинно буде виглядати так:

Запустити відображення в повноекранному режимі

Javascript

document.documentElement.requestFullScreen (); // відобразити сторінку в повноекранному режимі document.getElementById ( "video1"). RequestFullScreen (); // відобразити елемент в повноекранному режимі

Вийти з повноекранного режиму

JavaScript

document.cancelFullScreen ();

2 властивості об'єкта document

JavaScript

fullscreenElement = document.fullscreenElement; // елемент який в даний момент знаходиться в повноекранному режимі fullscreenEnabled = document.fullscreenEnabled; // статус (true або false)

Подія про зміну режиму

JavaScript

element.addEventListener ( "fullscreenchange", function (e) {console.log ( 'статус fullscreen =', document.fullscreenEnabled);});

Ну а поки API досить нове, все властивості, події і методи можна використовувати тільки з префіксами (03.2013)

Ось кілька функцій, які можуть допомогти.

JavaScript

// Запустити відображення в повноекранному режимі function launchFullScreen (element) {if (element.requestFullScreen) {element.requestFullScreen (); } Else if (element.mozRequestFullScreen) {element.mozRequestFullScreen (); } Else if (element.webkitRequestFullScreen) {element.webkitRequestFullScreen (); }} // Вихід з повноекранного режиму function cancelFullscreen () {if (document.cancelFullScreen) {document.cancelFullScreen (); } Else if (document.mozCancelFullScreen) {document.mozCancelFullScreen (); } Else if (document.webkitCancelFullScreen) {document.webkitCancelFullScreen (); }} Var onfullscreenchange = function (e) {var fullscreenElement = document.fullscreenElement || document.mozFullscreenElement || document.webkitFullscreenElement; var fullscreenEnabled = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled; console.log ( 'fullscreenEnabled =' + fullscreenEnabled, ', fullscreenElement =', fullscreenElement, ', e =', e); } // Подія про зміну режиму el.addEventListener ( "webkitfullscreenchange", onfullscreenchange); el.addEventListener ( "mozfullscreenchange", onfullscreenchange); el.addEventListener ( "fullscreenchange", onfullscreenchange);

Псевдоклас: full-screen призначений для стилізації елементів в повноекранному режимі.

Нижче наведено приклад з префіксами -webkit- і -moz-, які через деякий час можна буде опустити і використовувати просто: full-screen

CSS

/ * Червоний фон для повноекранного режиму * /: -webkit-full-screen {background: red; }: -Moz-full-screen {background: red; } / * Повноекранне відображення <video> * /: -webkit-full-screen video {width: 100%; height: 100%; }: -Moz-full-screen video {width: 100%; height: 100%; }

Часто буває, що контент, який ви хочете відобразити в повноекранному режимі, знаходиться у фреймі.

Це типовий випадок вбудовування відео з різних місць для розміщення відеофайлів до себе на сайт. Для того, щоб все працювало як треба, необхідно додати атрибут allowfullscreen до елементу iframe. Як і все вищесказане, він поки потребує префіксах.

html

<Iframe webkitallowfullscreen = "true" mozallowfullscreen = "true" allowfullscreen = "true" src = "http://google.com" />

В цьому випадку, браузер буде давати право вбудованому кадру відкриватися в режимі fullscreen.

HTML

<Div id = "fs-container"> <div class = "fs_section" id = "fs_section_img"> <div id = "i1"> </ div> <div id = "i2"> </ div> <div id = "i3"> </ div> <button onclick = "enterFullscreen ( 'fs_section_img')"> Toggle iframe content fullscreen </ button> </ div> <div class = "fs_section" id = "fs_section_video"> <video controls > <source src = "/ blogdemo / video / chrome.webm" type = "video / webm" /> <source src = "/ blogdemo / video / chrome.ogv" type = "video / ogg" /> <source src = "/ blogdemo / video / chrome.mp4" type = "video / mp4; codecs = 'avc1.42E01E, mp4a.40.2'" /> </ video> <button onclick = "enterFullscreen ( 'fs_section_video')"> Toggle iframe content fullscreen </ button> </ div> </ div>

JavaScript

document.cancelFullScreen = document.cancelFullScreen || document.webkitCancelFullScreen || document.mozCancelFullScreen; function onFullScreenEnter () {console.log ( "Enter fullscreen initiated from iframe"); }; function onFullScreenExit () {console.log ( "Exit fullscreen initiated from iframe"); }; // Note: FF nightly needs about: config full-screen-api.enabled set to true. function enterFullscreen (id) {onFullScreenEnter (id); var el = document.getElementById (id); var onfullscreenchange = function (e) {var fullscreenElement = document.fullscreenElement || document.mozFullscreenElement || document.webkitFullscreenElement; var fullscreenEnabled = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled; console.log ( 'fullscreenEnabled =' + fullscreenEnabled, ', fullscreenElement =', fullscreenElement, ', e =', e); } El.addEventListener ( "webkitfullscreenchange", onfullscreenchange); el.addEventListener ( "mozfullscreenchange", onfullscreenchange); el.addEventListener ( "fullscreenchange", onfullscreenchange); if (el.webkitRequestFullScreen) {el.webkitRequestFullScreen (Element.ALLOW_KEYBOARD_INPUT); } Else {el.mozRequestFullScreen (); } Document.querySelector ( '#' + id + 'button'). Onclick = function () {exitFullscreen (id); }} Function exitFullscreen (id) {onFullScreenExit (id); document.cancelFullScreen (); document.querySelector ( '#' + id + 'button'). onclick = function () {enterFullscreen (id); }}

CSS

: -Webkit-full-screen {background: black; }: -Moz-full-screen {background: black; }: -Webkit-full-screen # fs_section_video.fs_section,: -webkit-full-screen # fs_section_img.fs_section {width: 100%; left: 0; top: 0; }: -Moz-full-screen # fs_section_video.fs_section,: -moz-full-screen # fs_section_img.fs_section {width: 100%; left: 0; }: -Webkit-full-screen # fs_section_img.fs_section # i1 {display: none; }: -Moz-full-screen # fs_section_img.fs_section # i1 {display: none; }: -Webkit-full-screen # fs_section_img.fs_section # i2 {display: block; z-index: 1; }: -Moz-full-screen # fs_section_img.fs_section # i2 {display: block; z-index: 1; }: -Webkit-full-screen # fs_section_img.fs_section # i3 {opacity: 1; display: block; z-index: 2; -webkit-transition: all 2s 2s ease-in-out; }: -Moz-full-screen # fs_section_img.fs_section # i3 {opacity: 1; display: block; z-index: 2; -moz-transition: all 2s 2s ease-in-out; }

Частина коду не приведена, що-б не засмічувати статтю. Ви завжди можете все подивитися, проінпектіровав приклад в вашому улюбленому браузері.

Чекаю питань і відгуків в коментарях;)

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то