Создание хорошо себя сайты с Page Visibility API

Мы все в отставку, чтобы это: запуска браузера перезагружает каждый вкладку ранее была открыта, взрывных Cacophonous сочетание звука и видео.В то время как браузеры сделали его легче контролировать этот опыт с вкладки икон и расширений, таких как MuteTab, для большинства людей это поведение представляет запутанную и дезориентирующее опыт.Как-разработчиков и дизайнеров это наша работа, чтобы сделать веб-приветствуя, не перегружая .

Разве это не имеет смысла, что сайты должны быть активны только, когда они сосредоточены вкладка основной?Почему мы сожжете батареи и циклы процессора с анимацией, которые не могут быть замечены?

К счастью, есть решение: HTML5 страницу Видимость API.Вы можете видеть, что это используется, в частности эффективно в последние проектов Активный Theory 1 , такие, как их работы Под Armor __15 | | 2__8 | и __19 космический корабль для All 3 : нажмите на другую вкладку, и вы увидите, что мультимедийные презентации пауз и музыки исчезает.Такое поведение является типичным то, что я хотел бы назвать “вежливой” Интернет: сайты, которые внимательны пользователей внимания, пропускной способности и умения .

В последние разработчиков пытались создать такое поведение, добавив onblur() и onfocus() обработчики оконных.В то время как они значительно лучше, чем ничего, подход ограничен тем, что он не может сказать, если окно фактически невидимо для пользователя.Например, имея два окна броузера бок-о-бок и переключение между ними будет по-прежнему регистрироваться в качестве onblur() или onfocus(), хотя содержание в каждой остается прекрасно видно .

Реализация страницу Visibility

В то время как есть много возможностей для использования Page Visibility API, возможно, наиболее очевидный случай использования, когда страница содержит видео: там, как правило смысла в продолжении воспроизведения видео контент, если пользователь не может видеть его.

<video autoplay controls id="videoElement">
	<source src="rar.mp4">
	<source src="rar.webm">
</video>

<script>
var videoElement = document.getElementById("videoElement");
document.addEventListener("visibilitychange", function() {
if (document.hidden) {     
videoElement.pause();  
} else {
videoElement.play();   
} 
});
</script>

Одна проблема с этим является то, что это немного резким: аудио на видео начинается и останавливается, как будто отрезали гильотины, когда пользователь переключается вкладки.Презентация может быть значительно улучшена путем постепенного аудио в и из, как вкладка ориентирована.Если мы используем JQuery, мы можем использовать аккуратный использование animate метода сделать так .

<script>
var videoElement = document.getElementById("videoElement");

document.addEventListener("visibilitychange", function() {
if (document.hidden) {
$("#videoElement").animate({volume: 0}, 1000, "linear", f ...

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.