【问题标题】:seekTo, playVideo, and pauseVideo functions not working in YouTube Player APIseekTo、playVideo 和 pauseVideo 函数在 YouTube Player API 中不起作用
【发布时间】:2011-08-25 21:19:47
【问题描述】:

我正在使用 YouTube Player API 并使用 seekTo() 函数,但它不起作用。事实上,playVideo() 或 pauseVideo() 也不起作用。代码如下:

<script type="text/javascript" src="swfobject.js"></script>
<body>
<div id="divvideo">
<p>You will need Flash 8 or better to view this content.</p>
</div>
<script type="text/javascript">
    var params = { allowScriptAccess: "always" };
    var atts = { id: "video" };
    swfobject.embedSWF(
        "http://www.youtube.com/v/o3nmOw9vKw4?enablejsapi=1&playerapiid=video", "divvideo", "720", "405", "8", null, null, params, atts);

ytplayer = document.getElementById("video");

function play() {
    if (ytplayer) {
        ytplayer.playVideo();
    }

}
</script>
<a href="javascript:void(0);" onclick="play()">Play</a>
</body>

视频出现,但播放超链接不起作用。我该怎么办?

【问题讨论】:

  • 所以特别是脚本不起作用?还是播放器本身不起作用?你对 ytplayer 有什么价值吗?
  • 这是脚本:播放器可以工作,但是当我按下“播放”超链接时,它什么也没做。我认为 ytplayer 是出现的对象:ytplayer = document.getElementById("video");

标签: javascript html api youtube


【解决方案1】:

在你的 JavaScript 中,你有这个:

ytplayer = document.getElementById("video");

但是当你声明你的元素时,你声明它是这样的:

<div id="divvideo">

看到不匹配了吗?您正在寻找一个 HTML 元素,其 id 是 "video",但没有一个 - 您的 HTML 元素的 id 是 "divvideo"。

您需要将getElementById 呼叫更改为"divvideo",或者将您的div 更改为id="video"。

【讨论】:

  • 不,#video 是使用 SWFObject 出现的 或 的名称。我尝试更改 document.getElementById("divvideo"),但它不起作用。但感谢您抽出宝贵的时间! ;-)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
  • 2021-07-13
  • 1970-01-01
  • 2022-12-18
  • 2019-10-30
  • 1970-01-01
相关资源
最近更新 更多