Встраивайте видео YouTube с резервным решением для корпоративных прокси - PullRequest
4 голосов
/ 08 декабря 2011

Мне интересно, сталкивался ли кто-нибудь из вас с решением / функцией, которая позволяет встраивать видео YouTube с запасным решением, где альтернативный источник видео выбирается, если видео YouTube - и только видео! - заблокированы.

Один из наших корпоративных клиентов имеет доступ к Интернету через прокси-сервер, который отсеивает флеш-контент с YouTube. Более конкретно, все, что подается от ytimg.com, заблокировано. Поскольку на их веб-сайте довольно много видео о товарах, они раздражают, что клиенты могут смотреть видео на своем сайте, а их собственные сотрудники - нет.

Есть предложения?

Ответы [ 3 ]

4 голосов
/ 08 декабря 2011

Вы должны попытаться сделать Ajax-запрос к чему-то, размещенному на youTube, я бы сказал что-то вроде этого:

function check_youtube() {
  $.ajax({
    type: 'GET',
    dataType: 'json',
    url: URL_ON_YOUTUBE,
    timeout: 5000,
    success: function(data, textStatus ){
       alert('Woot, Cat videos on the way!');
    },
    error: function(xhr, textStatus, errorThrown){
       alert('Ooops, You suck, proxy blocking your way');
    }
  });
}
2 голосов
/ 08 декабря 2011

Следует уточнить, что Flash проигрыватель Youtube отличается от FLV или MP4 файла, который он воспроизводит. Хотя Flash-плеер может обслуживаться с * .ytimg.com, сами потоки поступают с хостов, таких как «o-o.preferred.lga15s18.v2.lscache6.c.youtube.com».

Если ваш клиент блокирует первый, то вы не можете использовать Youtube для просмотра видео. Мой подход заключается в том, чтобы запустить ваши видео со страницы, которая имеет своего рода автоматизацию, чтобы распознать диапазон IP-адресов вашего клиента и загрузить собственную копию jwplayer или flowplayer или что-то подобное.

Несмотря на то, что вы могли бы сделать это на стороне браузера, используя что-то вроде вызова ajax, вы все равно рискуете из-за чрезмерно консервативной корпоративной ИТ-поддержки отключить JavaScript. (Я видел, как это происходит. Это не красиво.) Размещение «умов» на вашем сервере оставляет вас под контролем, хотя, конечно, это означает, что вам нужно заранее знать, каковы ограничения, чтобы вы могли их откорректировать .

0 голосов
/ 08 декабря 2011

При создании страницы вы можете проверить работоспособное соединение с ytimg.com и соответствующим образом обновить источник iframe, который вы используете для отображения ...

<iframe src="<?php

//Use a dummy (but valid) ytimg.com url to check for ytimg availability...
$h = get_headers('http://s.ytimg.com/yt/swfbin/watch_as3-vflZzp2iQ.swf');

//If ytimg.com isn't available...
if (stristr($h[0], '200') == FALSE)
{ ?>

    <!--Alt URL-->

<?php

//Otherwise, if ytimg.com is available...
} else { ?>

    <!--YouTube URL-->

<?php } ?> "></iframe>

В качестве альтернативы, вы можете вежливо предложить вашему клиенту не быть таким упрямым и позволить своим сотрудникам время от времени прерывать работу YouTube.

РЕДАКТИРОВАТЬ Шучу, я идиот. Используйте предложение camilo_u выше.

...