Javascript 在现有播放器上启用YouTube API

Javascript 在现有播放器上启用YouTube API,javascript,jquery,youtube-api,Javascript,Jquery,Youtube Api,我有一个嵌入的youtube视频,我希望应用youtube API。我使用jQuery添加url参数,如下所示(): 这种方法在Firefox中非常有效,但在IE或Chrome中根本不起作用(对其他浏览器不太清楚)。所以我的问题是如何修改它,使API在其他浏览器中工作?我是否必须完全移除该对象并使用替换 注意:嵌入代码直接来自YouTube 更新:我想如果我删除了这个对象,添加了url参数,然后又添加了这个对象,我现在可以让它在Chrome中工作,但仍然不能在IE()中工作 附录:当对象/嵌

我有一个嵌入的youtube视频,我希望应用youtube API。我使用jQuery添加url参数,如下所示():

这种方法在Firefox中非常有效,但在IE或Chrome中根本不起作用(对其他浏览器不太清楚)。所以我的问题是如何修改它,使API在其他浏览器中工作?我是否必须完全移除该对象并使用替换

注意:嵌入代码直接来自YouTube


更新:我想如果我删除了这个对象,添加了url参数,然后又添加了这个对象,我现在可以让它在Chrome中工作,但仍然不能在IE()中工作


附录:当对象/嵌入已经有了启用代码时,为什么YouTube API不起作用?我试图避免使SWFObject成为依赖项

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="385">
 <param name="movie" value="http://www.youtube.com/v/2Qj8PhxSnhg&amp;hl=en_US&amp;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&amp;hl=en_US&amp;fs=1&enablejsapi=1&version=3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed>
</object>

关于swfobject-是。IE对待flash嵌入的方式与其他浏览器略有不同(感谢activex)。查看以了解原因,并查看以了解更多信息

另外,我最近创建了一个jQuery插件,以帮助使用player API控制嵌入式播放器(基本上就是您正在做的事情)


检查一下,这是jQuery TubePlayer插件-

IE找不到
$('object')
可能是因为您需要指定正确的类型(对obj长度发出警报),但是如果您这样做
obj=$('embed')
,它会起作用。用另一种方式来包装事情可能是明智的,那就是做
$('问题似乎是,当您更改元素的src属性时,Chrome和IE不会更新元素的DOM/embed api。如果您直接在代码中添加查询字符串,代码确实可以工作。您的站点是否要求动态添加它?@Manticore:这不是一个要求,我正在尝试修改插件。视频代码/链接是由用户在一个列表中,因此我试图确定最简单的方法来实现这一点,而无需设置任何规则,如无嵌入标记。我也遇到了同样的问题,IE在添加classid=“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”后开始对我进行适当的操作SWFObject添加的属性。因此,看起来您依赖于SWFObject插件。我正在试图找到问题的本质。通过SWFObject代码挖掘浏览器之间的差异对我来说不是很有启发性。我放弃了,只是继续使用SWFObject插件,所以我将把您的答案标记为已接受尽管我仍然找不到问题的本质。尽管如此,谢谢!即使没有CSID,至少在IE8中,我也无法复制IE没有找到
$('object')
的问题。我确实尝试过像SWFObject文件那样使用
outerHTML
添加原始HTML,但似乎没有任何区别。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="385">
 <param name="movie" value="http://www.youtube.com/v/2Qj8PhxSnhg&amp;hl=en_US&amp;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&amp;hl=en_US&amp;fs=1&enablejsapi=1&version=3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed>
</object>