Новое в браузерах: Firefox 66 по умолчанию блокирует видео и звук, Chromium ограничивает бюджет страниц


    В ближайших версиях Firefox и Chromium могут произойти важные изменения.

    Во-первых, в Firefox 66 для десктопов по умолчанию заблокируется автоматическое воспроизведение видео и звука на всех страницах. Блог Mozilla Hacks заранее предупреждает об этом разработчиков. Воспроизведение видео и звука разрешается только через HTMLMediaElement API и только после взаимодействия пользователя со страницей (щелчок мыши, нажатие кнопки или прикосновение к тачскрину).

    В Chromium могут произойти ещё более интересные изменения.

    При этом разрешено автоматическое воспроизведение видео с заглушённым звуком. Для такого контента нужно для HTMLMediaElement установить атрибут “muted” в значение true. На скриншоте показано, что пользователи могут вручную отключить блокировку звука для отдельных сайтов.

    В Firefox для Android новая реализация заменит существующий механизм блокировки автоматического воспроизведения.

    Технически Firefox блокирует вызов play() от HTMLMediaElement.play(), возвращая ошибку NotAllowedError. Так же поступают все браузеры с аналогичной функциональностью. Соответственно, веб-разработчикам не следует предполагать, что вызов play() всегда будет успешен. Чтобы избежать блокировки, рекомендуется два варианта. Первый: запускать воспроизведение контента в связке с обработчиком событий, например, KeyboardEvent на десктопе или touchend под Android. Второй: запустить автовоспроизведение без звука (оно разрешено по умолчанию) и показать пользователю кнопку для включения звука.

    Финальная версия Firefox 66 запланирована к выходу на 19 марта 2019 года, так что у разработчиков есть время на подготовку.

    Mozilla сейчас работает над автоматической блокировкой контента Web Audio: её обещают до конца 2019 года.

    Бюджет для веб-страниц


    Изменения в Chromium пока на стадии обсуждения. Не факт, что соответствующий коммит включат в основную ветку. Но идея очень интересная.

    4 февраля 2019 года один из разработчиков Алекс Расселл представил коммит 1265506 («Never-Slow Mode»). Он предлагает внедрить в браузер дополнительный режим --enable-features=NeverSlowMode, который будет ограничивать бюджет каждой веб-страницы, тем самым гарантируя быструю загрузку.

    Алекс Расселл — один из ведущих разработчиком Chrome, Blink и веб-платформы в Google, автор статьи «Вы можете себе это позволить? Бюджет веб-производительности в реальном мире», перевод которой публиковался на Хабре.


    Иллюстрация из статьи Алекса Расселла

    Предлагаемый бюджет:

    • Объём одной картинки: 1 МБ
    • Объём всех картинок: 2 МБ
    • Одна таблица стилей CSS: 100 КБ
    • Все таблицы стилей CSS: 200 КБ
    • Максимальный размер скрипта: 50 КБ

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

    Очевидно, что бюджет следует периодически пересматривать, ориентируясь на время загрузки страницы.

    Ожирение сайтов


    Бюджетирование страниц — здравая идея. Многие пользователи и специалисты обращают внимание, что с годами программы и веб-приложения вовсе не становятся быстрее, несмотря на серьёзное повышение производительности компьютеров.

    По какой-то причине запросы приложений растут быстрее, чем производительность железа. В результате с каждым годом софт становится медленнее, а веб-сайты жиреют.
    Тенденция такова, что софт вовсе не становится быстрее и функциональнее. Мы получаем более быстрое оборудование, на котором софт с теми же функциями ворочается медленнее, чем раньше. Всё работает намного медленнее максимальной скорости. Никогда не задумывались, почему ваш телефон загружается от 30 до 60 секунд? Почему он не может загрузиться, скажем, за одну секунду? Здесь нет никаких физических ограничений. Лично мне бы такое понравилось. Хочется, чтобы разработчики достигли предела, используя каждый бит для производительности. — Из статьи «Моё разочарование в софте»
    Возможно, бюджет веб-страниц поможет решить проблему, если другие разработчики Chromium согласятся на коммит Расселла.



    GlobalSign
    164,00
    Компания
    Поделиться публикацией

    Комментарии 40

      +9

      Забавно наблюдать, какие жёсткие ограничения хотят поставить для сайтов, держа в уме тот же пресловутый GMail.

        +2
        для своих сайтов гугл сделает исключение. Также было с автостартом аудио.

        Пользователям нужно ровно одно — кнопка в заголовке таба, чтоб отключить ВСЁ аудио и видео на странице. Так сделано в десктопном Сафари для мака.
        Производителям браузера нужно как-то ограничить рекламу, раз уж она так напрягает пользователей, но полностью блокировать ролики которые лезут с любой страницы они не хотят т.к. это большая статья дохода.
          +5
          На самом деле не только рекламу. На Ю-тубе порядком бесит что при открытии вкладки видео сразу запускается. С какой стати оно должно запускаться раньше, чем я оказываюсь готов его смотреть? Я, может, хочу десяток вкладок открыть, посмотреть что написано, а потом решить в каком порядке запускать видео на них.
            0
            Есть плагины которые автоматически ставят на паузу в ново-открытом видео в ютюбе
              +1
              У меня видео начинает загружаться только при переключении на вкладку. Firefox, если что.
                0
                У меня в Лисе стоит Enhancer for YouTube™ — никакого автовоспроизведения, никаких аннотаций, ничего лишнего. А ещё стоит h264ify ибо больше половины устройств аппаратного ускорения новых кодеков не поддерживают.

                и для nuclight тоже, пригодится ;)
              0
              Их гмыл в режиме «базовый HTML» отлично грузится за секунду :-)
              Надеюсь, в хромиуме таки появится.
                0
                Их гмыл в режиме «базовый HTML» отлично грузится за секунду :-)

                Да, только вот там половины функций нет, не говоря о плагинах. Так что Google, перестань быть злом, иди и срочно чини Gmail.
            • НЛО прилетело и опубликовало эту надпись здесь
                +1

                А где вы увидели словосочетание "бюджетная страница"? Я видел только "бюджет страницы"...

                +6
                Пользователям нужно ровно одно — кнопка в заголовке таба, чтоб отключить ВСЁ аудио и видео на странице. Так сделано в десктопном Сафари для мака.

                Как пользователь выскажусь
                1. Никакого автовоспроизведения видео и аудио, только по клику или спец. разрешение для конкретного таба/сайта
                2. Никакого исполнения скриптов в неактивых табах, только после специального разрешения для конкретного таба/сайта.
                  –4
                  Никогда не говори «никогда».

                  Есть куча нужного софта требующего автостарт.

                  Заходишь по ссылке на ютуб — оно должно сразу запустить ролик.

                  Открываешь сайт радио — звук должен сразу начаться с последней прослушанной станции. И неплохо бы оставить трансляции в неактивном табе пока что-то делаешь в других вкладках.

                  Производители браузера не хотят давать право выбора (просто кнопку в заголовке таба). Они хотят решать за пользователя какая реклама отключится, а какая будет продолжать лезть.
                    +2
                    Есть куча нужного софта требующего автостарт.
                    Заходишь по ссылке на ютуб — оно должно сразу запустить ролик.
                    Открываешь сайт радио — звук должен сразу начаться с последней прослушанной станции.

                    Так я же написал — надо разрешение для таких сайтов/табов. При первом заходе на ютуб у тебя всплывает окошко — «разрешить автостарт мультимедиа для этого сайта?» и варианты «да/нет» и чекбокс «запомнить выбор». Всё!
                    И неплохо бы оставить трансляции в неактивном табе пока что-то делаешь в других вкладках.

                    Точно так же — спец разрешение.

                    Производители браузера не хотят давать право выбора

                    Это да, но это немного странно. Ведь есть между ними конкуренция, кто первый это сделает — получит больше пользователей.
                      0
                      При первом заходе на ютуб у тебя всплывает окошко

                      Не надо окошко. Лучше чекбокс на панельке.
                      +12
                      Заходишь по ссылке на ютуб — оно должно сразу запустить ролик.


                      Вот схера ли? Я открываю ссылку, и пускай она себе там в табе прогружается, а я продолжаю в мессенджере писать, например. Потому что может быть я сразу несколько линков на ютуб открыл. Мне вовсе не упало всё бросать и искать ту вкладку, которая требует от меня подчиниться и смотреть её.
                        –5
                        програмасты из гугла с мозилой примерно так же рассуждали. Решили за всех остальных.
                          +1

                          Если вкладку ютуба открыть в фоне, то пока на нее не переключишься, видео воспроизводиться не начнет.

                            +1
                            Однако, пока я слушаю одно видео, я хочу посмотреть комменты к другим…
                              –2
                              так у браузеров миллионы пользователей, а не один. И хотят они все одного — чтоб было только по ихнему. Исключительно по ихнему и все тут, без всяких компромиссов.

                              А программисты хрома решили что сами будут решать за пользователей и сломали совместимость в тысячах сайтов, в прошлом году им автостарт вебаудио пришлось откатывать из-за шквала жалоб разработчиков учебного и игрового софта.
                              0
                              Если при выходе из ФФ активным был таб с ютубом, то после загрузки ФФ видео внезапно начинает играть, хоть я этого вообще не просил. А ещё, если открыть табы с видео, и попереключаться на каждый из них, то они ВСЕ продолжают играть. Большое спасибо, но этого совсем не хотелось.
                          0
                          только после специального разрешения для конкретного таба/сайта.

                          Для конкретного таба — через интерфейс в самом табе, и с возможность настроить умолчания в зависимости от домена.
                            +1
                            Если я прихожу на какой-нибудь twitch/goodgame/другую стриминговую платформу, я хочу чтоб у меня сразу запускался плеер, а не я тыкал на него.
                              –1
                              Если я прихожу на какой-нибудь twitch/goodgame/другую стриминговую платформу, я хочу чтоб у меня сразу запускался плеер, а не я тыкал на него.

                              В моём предложении это учтено. Вот объяснение
                            0
                            Забавно, что одни разработчики Гугла выкатывают новый «жирный» Gmail, а другие разработчики делают «бюджетный режим» для их же браузера, который будет бороться с такими тяжёлыми сайтами, как новый Gmail.
                              0
                              Так у Гугла есть еще и «тощий» Gmail, давно уже.
                                +1
                                Пока есть, да.
                                А когда-то был и «тощий YouTube», есть ли он сейчас?
                              +5
                              > Максимальный размер скрипта: 50 КБ
                              Я так понимаю, сайты на которых стоит «JQuery» можно сразу хоронить?
                                0
                                Можно любые сайты с картинками сразу хоронить. А многие из них — двигатель прогресса!
                                  0

                                  Зачем же. Нужно взять какой-нибудь вебпак и автоматически разбивать бандл на чанки по 49.9кб. На клиенте конкатенируем свои 30 чанков, делаем eval и вуаля. К тому же, может вебпак и без ручных операций справится.

                                    +2
                                    хм. jquery, vue, vuetify. И все это грузится чанками по 50КБ, проверяется, собирается, запускается… Это точно должно уменьшить время загрузки?
                                      0

                                      О том и речь. Все начнут искать пути обхода и может стать только хуже

                                    0

                                    Может имелся в виду размер сжатых данных?

                                    +2
                                    Годные изменения. А то совсем уже веб унесло куда-то не туда — заходишь на страницу, а видеореклама со звуком начинает работать быстрее, чем отобразится текстовый материал, ради которого, собственно и заходишь.
                                    Да и насчёт жирного веба тоже надо что-то делать, и принудительный порядок данного действа, похоже, единственное, что может хоть как-то заставить шевелиться веб-разработчиков — недавно ругался с некоторыми. Они никакой проблемы в главной странице на 50 Мб не видели.
                                      +1
                                      Только что посмотрел время загрузки gmail — до того момента, как по девтулзам закончилась загрузка, прошло почти 40 секунд. На i7 и выделенной линии (не мобильном интернете в смысле).
                                      картинка
                                      image см. фиолетовую линию. ну и объем данных немного поражает:
                                      image
                                        +2
                                        Интересно, как на фичу с бюджетом сайтов отреагирует, например, Facebook? Или его запишут в какой-нибудь скрытый «белый список» и он продолжит насиловать компьютеры бедных юзеров?

                                        Ну вот как-то примерно так


                                        Всего лишь окошко с ошибкой
                                        image
                                          +1
                                          Лучше бы потребление ресурсов хромом ограничили на страницу, а не со скоростью загрузки носились. Вот например сейчас у меня на win 8.1 открыто 15 вкладок, всего хром жрет 1.5 Гб ОЗУ, в диспетчере задач 25 процессов chrome.exe, один из них кушает 700 МБ… Без доп проверок даже не понятно какая вкладка грузит систему. JS может ничего не весить, просто получит аяксом здоровенный массив и переворачивая циклом без таймаута повесит юзеру систему.
                                            0
                                            А через Shift+Esc разве не видно какая именно вкладка виновата?
                                              0
                                              Про это сочетание клавиш знает не так много людей, и задачу оно не решает, т.к. показывает что больше всего памяти жрут субфреймы, вынесенные на верхний уровень из вкладок, и какая вкладка его загрузила уже не очень понятно. Но отслеживание это уже такое… я привел пример в том смысле, что они предлагают резать допустимые килобайты для загрузки, но не обращают внимание что одна страница может съесть ОЗУ и ЦП юзера, независимо от размера загруженных скриптов.
                                                0
                                                Спасибо вам за это, не знаю почему никогда не гуглил именно это хотя очень часто нужно было найти «дъявола» среди всех вкладок
                                              +3
                                              Естественно, эту функцию пользователь будет включать по желанию. Например, если работает через медленное интернет-подключение, на слабом устройстве (устаревшем компьютере) и т. д. Ограничение бюджета гарантирует быструю загрузку и отсутствие тормозов, но при этом повышает вероятность, что страница не загрузится до конца.

                                              Это начнёт работать, только если будет включено у всех по-умолчанию. Иначе фронтенд-гавнокодеры не будут разгребать свой компост ради того, чтобы их терабайтное поделие снова начало грузиться у 1%, у тех кто включил ограничение.

                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                              Самое читаемое