Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击按钮时在嵌入式youtube视频中更改时间_Javascript_Jquery_Html_Video_Youtube Api - Fatal编程技术网

Javascript 单击按钮时在嵌入式youtube视频中更改时间

Javascript 单击按钮时在嵌入式youtube视频中更改时间,javascript,jquery,html,video,youtube-api,Javascript,Jquery,Html,Video,Youtube Api,我想嵌入一个youtube视频并提供按钮,当你点击它们时,它们会进入视频中的特定时间并从那里继续播放。 我尝试过使用jquery并更改“src”属性,如下所示: 原始资料来源: <iframe src="http://www.youtube.com/embed/PjDw3azfZWI?&t=5m30s&rel=0&amp"> 这导致我单击按钮时浏览器刷新 链接到我所想的图像:。单击按钮应使视频跳转到指定的时间。您不应重新加载iframe来控制视频;使用Jav

我想嵌入一个youtube视频并提供按钮,当你点击它们时,它们会进入视频中的特定时间并从那里继续播放。 我尝试过使用jquery并更改“src”属性,如下所示:

原始资料来源:

<iframe src="http://www.youtube.com/embed/PjDw3azfZWI?&t=5m30s&rel=0&amp">
这导致我单击按钮时浏览器刷新


链接到我所想的图像:。单击按钮应使视频跳转到指定的时间。

您不应重新加载iframe来控制视频;使用Javascript API方法。在这里查看seekTo:

基本上,一旦加载iframe,jsapi将调用onYouTubeIframeAPIReady(),在这里构建一个YouTube播放器对象。然后可以使用该播放器引用来控制视频,例如player.seekTo()

您仍然可以使用iframe,如下所述:

如入门部分所述,不要编写 页面上的空元素,播放器API的JavaScript 然后代码将替换为元素,您可以创建 给自己贴标签

如果您确实编写了标记,那么在构建YT.Player对象时,您不需要指定宽度和高度的值(指定为标记的属性),也不需要指定视频ID和播放器参数(在src URL中指定)

代码缺少的部分是YT.Player对象,您必须在上面提到的回调方法中构造它。这提供了对播放器控件的访问

下面是一个例子:

var player, seconds = 0;
function onYouTubeIframeAPIReady() {
    console.log("player");
    player = new YT.Player('player', {
        events: {
          'onReady': onPlayerReady
        }
      });
}

function onPlayerReady(event) {
    event.target.playVideo();
}

function seek(sec){
    if(player){
        seconds += sec;
        player.seekTo(seconds, true);
    }
}

您可以将此代码放在单独的脚本中,但请确保它位于根作用域中(如head标记中),而不是将其放在onLoad处理程序中。

添加
&t=37
,其中“37”是视频中的时间量,应该可以做到这一点。e、 g.这段视频播放了19秒。。。(石玫瑰-傻瓜的黄金-以防你感到奇怪;-)这让人耳目一新page@Lightvvind,我的答案对你有用吗?@JustinPowell我让播放器工作了,但是seekTo()函数什么都做不了。其他函数,如pauseVideo()也可以使用。@Lightvvind,我在答案中添加了一个提琴。如何使用angulas js控制器来实现这一点?我尝试在控制器中使用这些函数,然后加载api脚本和资源。但还是不起作用?
var player, seconds = 0;
function onYouTubeIframeAPIReady() {
    console.log("player");
    player = new YT.Player('player', {
        events: {
          'onReady': onPlayerReady
        }
      });
}

function onPlayerReady(event) {
    event.target.playVideo();
}

function seek(sec){
    if(player){
        seconds += sec;
        player.seekTo(seconds, true);
    }
}