我正在尝试在同一页面上运行此脚本两次,但我认为问题是onYouTubePlayerReady上的函数无法被调用两次而没有被最后覆盖。 此外,如果我更改其名称,则不会执行实际功能。
这是代码。我希望在同一页面中播放最多4个没有声音和自动播放的YouTube视频。你知道怎么可能吗?
感谢您的时间
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prova 1</title>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load("swfobject", "2.1");
</script>
</head>
<body align="center">
<div id="ytapiplayer2"></div>
<script type="text/javascript">
function onYouTubePlayerReady2(playerId2) {
ytplayer2 = document.getElementById("myytplayer2");
ytplayer2.playVideo();
ytplayer2.mute();
}
var videoID2 = "OFIhzSwDfwo"
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer2" };
swfobject.embedSWF("http://www.youtube.com/v/" + videoID2 + "?enablejsapi=1&playerapiid=ytplayer\
&autoplay=1&version=3&showinfo=0&iv_load_policy=3&controls=0&modestbranding=1",
"ytapiplayer2", "250", "inherit", "0", null, null, params, atts)
</script>
<div id="ytapiplayer"></div>
<script type="text/javascript">
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
ytplayer.playVideo();
ytplayer.mute();
}
var videoID = "e5iqtQLm-BM"
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/" + videoID + "?enablejsapi=1&playerapiid=ytplayer\
&autoplay=1&version=3&showinfo=0&iv_load_policy=3&controls=0&modestbranding=1",
"ytapiplayer", "250", "inherit", "0", null, null, params, atts)
</script>
</body>
</html>
答案 0 :(得分:0)
使用参数而不是全局变量来避免副作用:
function onYouTubePlayerReady2(playerId2, ytplayer2, video2, params, atts)
然后传入硬编码值,而不是在每次调用期间改变状态。