Мы все в отставку, чтобы это: запуска браузера перезагружает каждый вкладку ранее была открыта, взрывных 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 ...
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров