我有一些YouTube嵌入代码(我只会粘贴代码,这会给我带来麻烦并削减不公开的内容):
console.log(ytplayer);
ytplayer.playVideo();
Run Code Online (Sandbox Code Playgroud)
Chrome和FF上的Console.log向我展示了使用正确方法的好对象,并且存在方法playVideo().它适用于我检查的所有其他浏览器,但它不适用于FF!?更有趣的是,当我使用普通的YouTube播放按钮播放视频时,我可以使用pauseVideo()方法(以及所有其他方法:搜索,控制音量),但我不能使用playVideo()方法......
我使用新的嵌入视频方式:
ytplayer = new YT.Player(player, {
height: height,
width: width,
videoId: videoid,
allowfullscreen: 'true',
playerVars: {
controls: 0,
showinfo: 0,
wmode: 'opaque',
autoplay: (autoplay ? 1 : 0)
},
events: {
'onReady': function () {
console.log('I am ready');
}
}
});
Run Code Online (Sandbox Code Playgroud)
当然'我准备好'是在控制台输出.我不知道我做错了什么,为什么只有FF不工作...没有JS错误,也没有任何线索......希望有人之前遇到过这个问题并解决了!:)
好吧,我被卡住了,即使在关注了Google的文档并在Stackoverflow上阅读建议之后我也不知道出了什么问题.为什么我无法在网页中控制Youtube嵌入?
如果我创建一个HTML文件,其中<body>是:
<object id="o1" width="480" height="295">
<param name="movie"
value="http://www.youtube.com/v/qCTLCNmnlKU&hl=en_US&fs=1&enablejsapi=1&">
</param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed id="e1"
src="http://www.youtube.com/v/qCTLCNmnlKU&hl=en_US&fs=1&enablejsapi=1&"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true" width="480" height="295">
</embed>
</object>
Run Code Online (Sandbox Code Playgroud)
即使我试图这样做:
// I get an object. Yay.
document.getElementById('e1');
// This generates "...playVideo is not a function"
document.getElementById('e1').playVideo();
Run Code Online (Sandbox Code Playgroud)
救命!我究竟做错了什么?谢谢.