У меня есть встроенное видео на YouTube, к которому я хочу применить API YouTube. Я добавляю параметр url, используя jQuery, следующим образом ( demo ):
$(document).ready(function(){
var obj = $('object');
obj.find('embed').attr('src', function(i,s){return s+'&enablejsapi=1&version=3'})
obj.find('param[name=movie]').attr('value', function(i,v){return v+'&enablejsapi=1&version=3'})
$('.play').click(function(){
obj.find('embed')[0].playVideo();
});
$('.pause').click(function(){
obj.find('embed')[0].pauseVideo();
})
});
Этот метод отлично работает в Firefox, но совсем не в IE или Chrome (не уверен в других браузерах). Итак, мой вопрос: как мне изменить это, чтобы заставить API работать в других браузерах? Должен ли я полностью удалить объект и заменить его, используя SWFObject ?
Примечание. Код для вставки прямо с YouTube.
Обновление: я понял, если я удалю объект, добавлю параметры URL, затем добавлю объект обратно, теперь я могу заставить его работать в Chrome, но все еще не в IE ( обновленная демоверсия ).
Приложение. Почему не работает API YouTube, если в объекте / коде уже есть код включения? Я пытаюсь избежать превращения SWFObject в зависимость.
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/2Qj8PhxSnhg&hl=en_US&fs=1&enablejsapi=1&version=3"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/2Qj8PhxSnhg&hl=en_US&fs=1&enablejsapi=1&version=3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed>
</object>