代码之家  ›  专栏  ›  技术社区  ›  Mottie

在现有播放器上启用YouTube API

  •  5
  • Mottie  · 技术社区  · 14 年前

    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();
     })
    });
    

    SWFObject ?


    更新:我想如果我删除对象,添加url参数,然后再添加对象回来,我现在可以让它在Chrome中工作,但仍然不是IE( updated demo ).


    <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>
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   Nirvana Tikku    14 年前

    关于swfobject-是。IE对待flash嵌入的方式与其他浏览器略有不同(感谢activex)。退房 this article 想知道原因,还有 SWFObject documentation 更多信息。

    看看,这是jQuery TubePlayer插件- http://www.tikku.com/jquery-youtube-tubeplayer-plugin

        2
  •  1
  •   meder omuraliev    14 年前

    我找不到 $('object') 可能是因为您需要指定正确的类型(对obj长度执行警报),但是如果您指定了 obj = $('embed') 会有用的。用一种不同的方式来包装事物也许是明智的,那就是做 $('<div id="test/>') src movie 价值观。

    编辑:IE似乎没有注册 object type clsid

    编辑#2:您可能只需要检查object元素的outerHTML@ http://savedbythegoog.appspot.com/retrieve_cache?unique_id=http://code.google.com/apis/ajax/playground/samples/boilerplateHTML/youtube/chromeless.html|http://code.google.com/apis/ajax/playground/samples/js/youtube/chromeless.js&defaultSample=true