Многие сайты теперь имеют автоматическое воспроизведение или автоматическую потоковую передачу видео: встроенные в новостные страницы, нисходящие полосы, рекламирующие другой контент, а на некоторых сайтах даже есть массивные чисто декоративные видео на фоне страницы поиска (например, AirBnB и Lastminute).

Помимо фактора раздражения, для меня это проблема, потому что я обычно на дозированной связи, и эти вещи могут тратить сотни ценных МБ в считанные секунды на то, что я даже не хотел смотреть в первую очередь. Почти всегда нет способа остановить загрузку видео, кроме как закрыть страницу.

Можно ли вообще запретить загрузку видео в Chrome? Я уже заблокировал Flash, используя настройки содержимого Chrome для «Плагинов». Мне нужен такой способ, чтобы в любое время, когда Chrome видит значок или , он просто показывает что-то вроде серого прямоугольника и даже не касается связанного видео контента. Может быть, кнопка «клик для загрузки видео» была бы хорошей функцией, но это не обязательно.

Я думал, что будет расширение для этого, но, кажется, нет:

  • Video Blocker с многообещающим названием фактически удаляет только определенные каналы Youtube и предлагаемые видео на странице Youtube.
  • Отключить автозапуск HTML5 звучит многообещающе, но не работает должным образом. Я установил его, установил самый сильный параметр «отключить», но видео все еще загружается и воспроизводится.
  • Любое другое расширение, которое я могу найти, ограничено блокировкой только видео в рекламе, или только видео на Youtube, или только видео на Facebook, или какой-либо комбинации.

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

Я видел, как блокировать видео в формате HTML5, но, к сожалению, ответ касается только Firefox и IE.

Кажется странным, что, по-видимому, нет простой опции для блокировки видео, учитывая, что в «Настройках контента» Chromes есть простая и простая опция для блокировки изображений:

введите описание изображения здесь

Я хочу что-то, что работает, как отключение изображений, но для видео (и я хотел бы иметь возможность сохранить изображения).

Я попробовал AdBlock Plus, основываясь на предложении Санни, но пока не нашел способа заставить его делать то, что я хочу.

В сочетании с вашей текущей блокировкой Flash это должно решить вашу проблему.

Прежде всего, то, что вы просите, может быть достигнуто не полностью, как вам угодно. Если дело в том, что вы не хотите, чтобы видео воспроизводилось на веб-сайтах, потому что вы используете замеренные соединения, и независимо от того, используете ли вы Google Chrome, я считаю, что это возможно только с Firefox и NoScript.

Но использование NoScript может повлиять на ваш опыт просмотра, так как он блокирует функции многих веб-сайтов.

Попробуйте установить Tampermonkey и найти скрипт, который меняет ‘preload’ атрибут тега с ‘auto’ на ‘none’ . Однако изменение этого атрибута остановит только автоматическое воспроизведение, а не полную блокировку элемента, как это делает NoScript, что означает, что Chrome все еще может буферизовать некоторые мелкие фрагменты, даже не воспроизводя их (кстати, Firefox имеет функцию для остановки автоматического воспроизведения видео).

Если кому-то интересно, доступен ли NoScript для Chrome, то, к сожалению, его нет. Но есть форк-проекты NoScript для Chrome.

Вы можете использовать AdBlockPlus, чтобы скрыть элементы, которые вы не предпочитаете, с помощью пользовательских фильтров. Обратите внимание, что вы можете использовать эту опцию, если у вас мало веб-сайтов для блокировки видео и после обнаружения тегов, которые их содержат, например, фильтр ##div.hero__background скрывает фоновое видео на airbnb.com. В противном случае вы можете скрыть каждый video тег на каждом посещаемом веб-сайте с помощью фильтра ##video .

ОБНОВИТЬ:

Я все еще говорю, что вы не получите то, что блокирует каждое видео на каждом сайте. Поэтому AdBlockPlus иногда не удается заблокировать с помощью фильтра ##video . Однако, если вы часто посещаете веб-сайт и знаете, что на нем есть видео, используйте ContentBlockHelper , который идентифицирует общие элементы, такие как изображения и видео, в виде значков, отсортированных по источникам их URL. Заблокируйте видео, нажав на значок видео, как показано ниже, и повторите с другими источниками URL (на airbnb.com видео могут не загружаться по умолчанию, поэтому скриншот ниже может отличаться):

введите описание изображения здесь

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

Каждый раз, когдя я нажимаю ссылку удерживая зажатым Ctrl (или нажимаю ссылку правой кнопкой и выбираю «Open link in new tab») или когда я открываю Хром (в Firefox в этом случае помогает TabMixPlus — оно позволяет добиться эффекта спячки для табов, перенесённых из предыдущей сессии и ещё не открывавшихся в текущей) после того, как закрыл его с несколькими табами — фоновый(ые) таб(ы) сразу начинает(ют) загрузку данных в фоновом режиме.

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

Можно ли как-то добиться этого с помощью каких-то настроек или расширений?

Очень напрягает когда открываешь браузер с кучей табов и он начинает долго и упорно одновременно грузить их всех или когда «прощёлкиваешь» некоторый список, открывая табы для последующего (когда там до последних руки дойдут — хз) просмотра, а он сразу грузит все, загружая память и процессор до предела.

Добрый день, уважаемое сообщество.

Пользуюсь браузером Chrome.
UPD +Mozilla/Safari

Ищу возможность блокировки отдельных скриптов на определенных сайтах, причем именно отдельных, а не всех. Обращаю внимание, заблокировать надо определенных скрипт (например, яндекс.карты) только у меня в браузере. Я не являюсь владельцем сайта, просто пользователь, но не хочу, чтобы каждый раз он подгружал яндекс.карты, так как я их не использую, а трафик/время загрузки идет.

Просто, например, на сайте много разделов написано на скриптах, там выскакивающие окошки, и прочее, они нужны, и загружаются быстро, а вот когда начинается обращение на яндекс.карты и эту . панель JivoSite, страница висит около 1500ms. Что достает=(

Все расширения, что нашел в сети, полностью блокирует весь JavaScript на сайте, а хотелось бы указать только отдельный модуль. AdBlock с этим не справляется=(, или я его не могу настроить.

Проблема решена двумя способами

на OS-X ставим программу LittleSnitch (или аналог), задаем ей правило блокировки определенного адреса. Лично я сделал первый раз просто, просил LitleSnitch показывать мне абсолютно все сетевые подключения, пару раз перезагрузил страницу, на которой хотел блокировать контент, одобрял на один раз последовательно все запросы, и нашел тот, что отвечает за нежелательный контент, отправил его в вечный бан.

Как я могу узнать, что моя страница встроена в кадр на другой сайт во время загрузки страницы? Я думаю, что заголовок запроса referrer не может помочь мне здесь? Благодарю.

6 ответов

Вы не можете проверить его со стороны сервера, но вы можете использовать javascript для его обнаружения после загрузки страницы. Сравните top и self , если они не идентичны, вы находитесь в кадре.

Кроме того, некоторые современные браузеры относятся к заголовку X-FRAME-OPTIONS , который может иметь два значения:

  • DENY — предотвращает отображение страницы, если она содержится в кадре
  • SAMEORIGIN — то же самое, что и выше, если только страница не принадлежит к тому же домену, что и держатель фреймов верхнего уровня.

Пользователи включают Google Picasa, которые не могут быть встроены в фрейм.

Браузеры, поддерживающие заголовок, с минимальной версией:

  • IE8 и IE9
  • Opera 10.50
  • Safari 4
  • Chrome 4.1.249.1042
  • Firefox 3.6.9 (более старые версии с NoScript)

При помощи DevTools в Chrome или Firefox заблокировать загрузку определённого скрипта легко, а вот как это сделать на Python в Selenium вопрос. Плагины использовать не могу (замедляют процесс), мне кажется, что раз в DevTools есть, значит и обычным кодом это можно реализовать. Гуглить пробовал, не помогло.

P.S.: скрипт у сайта тяжёлый и грузиться долго, плюс мне он для автоматизации процесса, вообще, не нужен

1 ответ 1

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

На Node.js реализация выглядела бы так:

const http = require(‘http’); const https = require(‘https’); // По сути в реализации прокси у нас будет всего 4 параметра. // Локальный порт, на который вешаем прокси const localProxyPort = 3000; // Сервер, на который будут проксироваться запросы const host = ‘www.google.com’; // Регулярное выражение для поиска и последующей замены в HTML const rxSearch = /

Спасибо за ваш ответ на Stack Overflow на русском!

  • Пожалуйста, убедитесь, что публикуемое сообщение отвечает на поставленный вопрос. Предоставьте как можно больше деталей, расскажите про проведенное исследование!
  • Просьб помощи, уточнений или ответов на темы не относящиеся к вопросу.
  • Ответов основанных на мнениях; приводите аргументы основанные только на реальном опыте.

Также, обратите внимание на заметку в справочном центре о том, как писать ответы.

Как заблокировать загрузку страницы