我有一个youtube视频,该视频使用对象嵌入可以正常显示,在除ipad之外的所有浏览器中,代码如下:
<object id="ytViewer" width="468" height="327" type="application/x-shockwave-flash" data="http://www.youtube.com/apiplayer?version=3&enablejsapi=1&version=3&playerapiid=ytViewer" state="0" mute="0">
<param name="allowScriptAccess" value="always">
<param name="autoplay" value="0">
<param name="WMode" value="Opaque">
</object>
我使用对象嵌入,因为我在javascript中做了一些自定义播放器控件,当我使用iframe嵌入视频时,这些控件不起作用。
它使用一些JavaScript来提取视频,但这是因为ipad不支持Flash嵌入吗?
更新:
function loadPlayer( divToLoad, plId, vidid) {
var params = {
allowScriptAccess: "always",
autoplay: 0
};
var atts = {
id: plId
};
// All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
swfobject.embedSWF("http://www.youtube.com/apiplayer?" + "&enablejsapi=1&version=3&playerapiid=" + plId, divToLoad, "468", "327", "9", null, null, params, atts);
swfobject.createCSS("#" + plId, "display:block");
$('#' + plId + '_container').attr('videoid', vidid);
}
因此,我需要获取上面的功能以添加embed标签,但不确定如何执行此操作。
谢谢
最佳答案
您的代码仅链接到YT Flash视频播放器(甚至不指向视频)。
为什么不使用YouTube自动生成的“共享”代码呢?
在视频下方的“共享”部分中查找“嵌入”按钮,然后复制默认代码。您甚至可以激活一些其他选项:
<iframe width="560" height="315" src="http://www.youtube.com/embed/KVHO-FWuMXs" frameborder="0" allowfullscreen></iframe>
这应该适用于所有浏览器。
编辑:
如果您需要object / param语法,则可以切换为嵌入视频的“旧”方式:可以选中(当前为第四个)选项以使用以下不赞成使用的代码:
<object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/KVHO-FWuMXs?version=3&hl=de_DE"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/KVHO-FWuMXs?version=3&hl=de_DE" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>
用以下来自Psy的音乐视频进行测试:
http://www.youtube.com/watch?v=KVHO-FWuMXs
关于ipad - YouTube对象嵌入ipad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913688/