Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   youtube без рекламы (https://javascript.ru/forum/project/46214-youtube-bez-reklamy.html)

gradbk 02.04.2014 09:26

Помогите убрать рекламу с плеера youtube
 
Проблема простая - как убрать рекламу гугл со встроенного плеера ютуб? Как на этом сайте http://multyasha.com/multserialy/1250-fiksiki-2010.html
или этом http://online-mult.net/load/fiksiki/4-1-0-66
На вас вся надежда, двое суток искал инфу в сети, но ничего не нашел:(
Видимо пишется скрипт, который блокирует скрипт отвечающий за рекламу.. Сам не знаю javascript, изучать пока нет времени, а проблему нужно уже срочно решать..
Всё что нашел это:
- можно добавить к адресу видео параметр ?html5=1, но пропадает фулскрин и доступное качество только 360.
- некоторые в ютуб загружают два варианта видео - с рекламой и без. Можно , например, на официальном сайте автора найти ссылки на эти, скрытые в ютуб, видео без рекламы. Но не всегда можно найти такие видео.
Вот код плеера с рекламой:
<iframe id="film_main" width="500" scrolling="no" height="360" frameborder="0" name="film_main" src="http://www.youtube.com/embed/-O0OrWWQlog?rel=0">
<!DOCTYPE html>
<html lang="ru" data-cast-api-enabled="true" dir="ltr">
<head>
<script type="text/javascript" async="" src="//pagead2.googlesyndication.com/pagead/js/lidar.js">
<script src="http://s0.2mdn.net/instream/video/client.js" async="" type="text/javascript">
<script id="js-131047934" src="//www.google.com/js/bg/742eRhjFnPi2Ra2I0NlcOOEAUQML1CPd7yU4qAFSdEM.js" data-loaded="true">
<title>Фиксики - Сифон - YouTube</title>
<link href="http://www.youtube.com/watch?v=-O0OrWWQlog" rel="canonical">
<link id="css-14979289" class="www-embed-player" data-loaded="true" href="//s.ytimg.com/yts/cssbin/www-embed-player-vflU2OLVa.css" rel="stylesheet">
<script>
</head>
<body id="" class="date-20140328 ru_RU ltr site-center-aligned site-as-giant-card appbar-hidden not-exp-new-metadata-style gecko gecko-28" dir="ltr">
</html>
</iframe>

А вот плеер "здорового человека" :)
<iframe id="film_main" width="500" scrolling="no" height="360" frameborder="0" name="film_main" src="http://www.youtube.com/embed/sKdQO9Xo0dQ?rel=0">
<!DOCTYPE html>
<html lang="ru" data-cast-api-enabled="true" dir="ltr">
<head>
<script id="js-131047934" src="//www.google.com/js/bg/742eRhjFnPi2Ra2I0NlcOOEAUQML1CPd7yU4qAFSdEM.js" data-loaded="true">
<title>Фиксики - Сифон - YouTube</title>
<link href="http://www.youtube.com/watch?v=sKdQO9Xo0dQ" rel="canonical">
<link id="css-14979289" class="www-embed-player" data-loaded="true" href="//s.ytimg.com/yts/cssbin/www-embed-player-vflU2OLVa.css" rel="stylesheet">
<script>
</head>
<body id="" class="date-20140328 ru_RU ltr site-center-aligned site-as-giant-card appbar-hidden not-exp-new-metadata-style gecko gecko-28" dir="ltr">
</html>
</iframe>

В первом плеере после нажатия плей, появляются эти строчки (5 и 6)
<script type="text/javascript" async="" src="//pagead2.googlesyndication.com/pagead/js/lidar.js">
<script src="http://s0.2mdn.net/instream/video/client.js" async="" type="text/javascript">

Как сделать шоб не появлялись? Задача не сложная же, наверно, для знающих...

gradbk 03.04.2014 09:20

Так, дело не в строчках. Реклама грузится с
googleads.g.doubleclick.net
pagead2.googlesyndication.com
ad.doubleclick.net
Получается нужно что-то вроде:

Загрузка скрипта - у которого src googleads.g.doubleclick.net - ложь

Как это переводится на javascript?

..или это может в .htaccess делается?...

gradbk 03.04.2014 19:43

Млин, ну как-то же реализовали на сайтах в первом сообщении, неужели никто ничего не посоветует? Я уже начал думать вставить код старого плеера..:(

gradbk 04.04.2014 16:59

Я так понимаю это слишком сложно?
Тогда подойдем с другой стороны..
В гугл пишут, что реклама может быть в форматах jpg, gif, swf
В этой теме пишут как удалить загруженные картинки:
http://javascript.ru/forum/events/84...hlementov.html
Так может тоже просто удалить эти картинки-рекламу после их загрузки?
Вот такое предлагают в той теме:
1	var badSrc = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif';
2	var imgs = document.getElementsByTagName('img');
3	for (var i = 0; i < imgs.length; i++) {
4	    if (imgs[i].src == badSrc) {
5	        imgs[i].parentNode.removeChild(imgs[i]);
6	    }
7	}

Но судя по комменту
"Если в iframe страница с того же домена, то вызывайте такой же скрипт для iframe. Если домен другой -- никак."
- этот вариант не будет работать.. Ведь плеер в iframe добавляется..
Или я ошибаюсь и все-таки можно???

Вот еще один коммент:
"А чего сложного: циклом по src картинок, при совпадении ремув и всё.)
Если по onDOMContentLoaded то и мигнуть не должны.)"

Это что такое и с чем его едят как это сделать? Может это подойдет в данной ситуации?
Помогите пожалуйста разобраться:( Уснуть спокойно не могу уже от этих мыслей:)

Tim 07.04.2014 16:34

Никто солдату не ответил,
Никто его не повстречал,
И только теплый летний ветер.
Траву могильную качал.....

gradbk 09.04.2014 21:18

Да уж...
Но я не отчаиваюсь:) Продолжаю свой "блог" :)

Если домен другой, то никак...
Только писать проксирующий серверный скрипт (php, node.js, asp.net, etc.) и на сервере уже подменять текст.
Простейший проксирующий скрипт:
$html = file_get_contents('http://askdev.ru/');
$newHtml = str_replace($html, $textToSearch, $textToReplace);
echo $newHtml;
Кто-нибудь может умеет писать такие скрипты?

Это первое, а вот еще варианты работы с iframe:
http://habrahabr.ru/post/189170/ может можно с помощью данного метода присобачить рекламе стиль display:none
http://www.cyberforum.ru/javascript-...ead931572.html
Тут тоже интересный скрипт..
http://eax.me/youtube-view/
Я чайник, может совсем не то пишу.. Но вроде из всего этого можно что-то собрать..
Блин, проще, наверно, весь javascript выучить чем дождаться хоть какого-то ответа.. Неужели такая актуальная тема никого не волнует..

andriy159 24.05.2015 02:38

Успокойся. Ничего у тебя не получится
 
Успокойся, в "<iframe" ты не доберешся если URL твоего сайта не совпадет с URL откуда грузит "<iframe". Такую защиту установили бравзеры. Сам поэксперементируй в режиме отладки в хроме. Найди любой Id в котором есть <iframe. Например s=document.getElementById('foryoutube'); А теперь попробуй через s.children (children...) дойти до дочерного елемента. Дальше iframe тебя не пустит. Ты что самый умный нашелся рекламу убирать ? Если бы можна было парсить то что внутри фрейма, то я бы видел кто ко мне на сайт заходил: Фамилию, Имья и фото. Знаешь как ? Просто. Есть API плагин вконтакте, ВК, фейсбука. Ты заходишь на чужой сайт. Тебя просит авторизоваться через ВК. Ты видишь свою фотографию из ВК. А владелец этого сайта не видит этого фото и никогда не узнает что ты там заходил и только потому что до фрейма ему никогда не добраться, твой бравзер ни какой программе не отдаст ту часть кода, которую он тебе показывает только на экран. Понятно ?

ShnaiderHost 18.06.2015 13:23

Цитата:

Сообщение от gradbk (Сообщение 305915)
Млин, ну как-то же реализовали на сайтах в первом сообщении, неужели никто ничего не посоветует? Я уже начал думать вставить код старого плеера..:(

ставь video.js или flowplayer - отличные проигрыватели, сам пользовался.


Часовой пояс GMT +3, время: 13:31.