Javascript “用户友好”vimeo嵌入,从url获取嵌入代码

Javascript “用户友好”vimeo嵌入,从url获取嵌入代码,javascript,iframe,vimeo-player,Javascript,Iframe,Vimeo Player,我正在研究一种让客户端用户从vimeo获取iFrame以播放不同视频的方法。。事实证明,这对我来说比以前预期的更困难。必须通过文本框更改视频 如果可能的话,我如何提取嵌入代码,如下所示: <iframe src="https://player.vimeo.com/video/22439234?title=0&byline=0&portrait=0" width="500" height="281" frameborder="0" webkitallowfullscreen

我正在研究一种让客户端用户从vimeo获取iFrame以播放不同视频的方法。。事实证明,这对我来说比以前预期的更困难。必须通过文本框更改视频

如果可能的话,我如何提取嵌入代码,如下所示:

<iframe src="https://player.vimeo.com/video/22439234?title=0&byline=0&portrait=0" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
从url,例如:

如何从上面的示例中检索iframe、src属性值或任何我可以使用的东西

我在谷歌上搜索了很多,但我找到的所有说明都是针对开发人员的

我使用的是Angularjs,所以任何Javascript或Angularjs解决方案都是可以接受的

编辑:我发现一个网站可以做我想做的事,可能会帮助你理解我想做的事

如果粘贴到其中并按generate,则会输出:

<object type="application/x-shockwave-flash" style="width:450px; height:366px;" data="http://vimeo.com/moogaloop.swf?clip_id=22439234&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always">

这正是我需要的,除了它不是一个iFrame


下面是一个解决方案:

如果您有用户粘贴URL的输入:

您可以使用以下函数解析Vimeo URL:

function parseUrl(){
    var val = document.getElementById('video').value;
    var vimeoRegex = /(?:vimeo)\.com.*(?:videos|video|channels|)\/([\d]+)/i;
    var parsed = val.match(vimeoRegex);

    return "//player.vimeo.com/video/" + parsed[1];    
};

无论何时需要获取URL,只要调用parseUrl即可。然后将返回的值放入iframe的src中。

下面是解决方案:

如果您有用户粘贴URL的输入:

您可以使用以下函数解析Vimeo URL:

function parseUrl(){
    var val = document.getElementById('video').value;
    var vimeoRegex = /(?:vimeo)\.com.*(?:videos|video|channels|)\/([\d]+)/i;
    var parsed = val.match(vimeoRegex);

    return "//player.vimeo.com/video/" + parsed[1];    
};

无论何时需要获取URL,只要调用parseUrl即可。然后将返回的值放入iframe的src中。

最好的方法是使用oEmbed API:

对于您在问题中提供的链接,您可以请求:

https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/22439234


这将返回一个带有嵌入代码的html键的JSON对象。

最好的方法是使用oEmbed API:

对于您在问题中提供的链接,您可以请求:

https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/22439234


这将返回一个JSON对象,该对象具有一个带有嵌入代码的html键。

感谢您的回答,我有一个后续问题。。。我希望使用输出的链接作为网站的背景。我现在遇到的问题是:控件在那里。播放、暂停按钮、缓冲条、共享等。您知道如何取消这些功能吗?我做这个的客户会有一个专业账户。我知道,当你有一个专业帐户时,这是可以做到的,但我不想自己买一个。这可以做到吗,代码方面?或者它是从Vimeo请求嵌入代码时的一种设置?@CasNouwens我知道你可以隐藏一些控件,你可以在文档中看到选项:我找到了这个答案,但注释指出它违反了API规则。据我所知,我不使用API,是否禁止我应用该解决方案?恐怕ToS在这种情况下仍然适用。从我在回答中看到的情况来看,控件刚从视口中移出,这也意味着视频的一部分也将被隐藏。啊,我明白了。谢谢你的帮助。我会接受这个答案,因为它回答了我最初的问题。感谢你在第一个答案后留下来帮助其他人。。。有时候,人们似乎只是想要投票并接受,而不是在这里帮助人们谢谢你的回答,我有一个后续问题。。。我希望使用输出的链接作为网站的背景。我现在遇到的问题是:控件在那里。播放、暂停按钮、缓冲条、共享等。您知道如何取消这些功能吗?我做这个的客户会有一个专业账户。我知道,当你有一个专业帐户时,这是可以做到的,但我不想自己买一个。这可以做到吗,代码方面?或者它是从Vimeo请求嵌入代码时的一种设置?@CasNouwens我知道你可以隐藏一些控件,你可以在文档中看到选项:我找到了这个答案,但注释指出它违反了API规则。据我所知,我不使用API,是否禁止我应用该解决方案?恐怕ToS在这种情况下仍然适用。从我在回答中看到的情况来看,控件刚从视口中移出,这也意味着视频的一部分也将被隐藏。啊,我明白了。谢谢你的帮助。我会接受这个答案,因为它回答了我最初的问题。感谢你在第一个答案后留下来帮助其他人。。。有时候,人们似乎只是想要选票和接受,而不是在这里帮助人们