2012-03-30 2 views
1

HTML

<html> 
<head> 
<style type="text/css"> body { background-color: transparent; color: white; }  
</style>  
</head> 
<body style="margin:0">  
<embed id="yt" src="http://www.youtube.com/v/6eK-W32IME0?fs=1&hl=en_US&enablejsapi=1" type="application/x-shockwave-flash" width="330" height="200"></embed> 
</body> 
</html> 

код я бегу, чтобы попытаться воспроизвести видео являетсяJavascript для воспроизведения видео на Youtube не работает

var yt = document.getElementById("yt"); 
yt.playVideo(); 

Ошибка JS Я получаю

TypeError: Object #<HTMLEmbedElement> has no method 'playVideo' 

Но похоже, что так все это делают. В чем дело?

** EDIT **

jsfiddle

** EDIT **

The current JSFiddle теперь работает отлично на PC/Mac, но не на IPad.

+0

Это работает нормально для меня http://jsfiddle.net/A3jgy/. В каком браузере вы тестируете? –

+0

@BogdanEmilMariesan http://jsfiddle.net/A3jgy/3/ больше похож на то, что я смотрю. Встраивание работает отлично, но кнопка временного воспроизведения не работает. – Jacksonkr

+0

@Jackson Я обновил свой первоначальный ответ с помощью рабочего примера, используя элемент 'object'. – Aaron

ответ

4

Я думаю, вам нужно добавить &enablejsapi=1 в строку запроса в URL ссылок видео в вашем объекте <embed>.

Кроме того, попробуйте заменить свой элемент <embed> на элемент <object>. Вот working example.

Примечание о IOS/Мобильный Webkit:

Видимо, по this answer, Apple явно запрещает автоматическое управление встроенной медиа в Safari или других мобильных Webkit браузеров, требуя от пользователя IOS непосредственно взаимодействовать с видео объект для начала воспроизведения. Это касается object и embed элементов, а также HTML5 video и audio элементов.

+0

Отлично работает на компьютере, но не на iPad по какой-то причине. Он должен работать там, поэтому я озадачен. – Jacksonkr

+0

Ну, это потому, что устройства iOS не поддерживают Flash. Период. Если вы используете iframe для встраивания видео на свою страницу, YouTube будет интеллектуально обнаруживать устройства зрителей и обслуживать соответствующую версию видео для каждой из них. Затем, однако, вы потеряете управляемый скрипт, который вы пытаетесь реализовать. Короче говоря: вам нужно будет определить возможности Flash на вашей странице и создать тег 'object' или' video', основанный на результатах этого теста. – Aaron

+1

Я должен указать, что воспроизведение видео на самом деле работает на ipad (youtube здесь что-то придумывает). Это просто, что функция 'playVideo' вроде бы разорилась в ipad. – Jacksonkr

1

вы не погрузка апи JS попробовать это:

<embed id="yt" src="http://www.youtube.com/v/6eK-W32IME0?fs=1&hl=en_US&enablejsapi=1" type="application/x-shockwave-flash" width="330" height="200"></embed> 

, чтобы узнать больше о YouTubes JS апи проверить https://developers.google.com/youtube/js_api_reference

+0

Хм. Еще одно и то же. (новый код добавлен в мой оригинальный пример) – Jacksonkr

Смежные вопросы