“用户友好”的vimeo嵌入,从网址获取嵌入代码

时间:2015-03-20 12:55:14

标签: 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 mozallowfullscreen allowfullscreen></iframe>

来自网址,例如:https://vimeo.com/22439234

如何从上面的示例中检索iframe,src属性值或我可以使用的任何内容?

我已经搜索了一堆,但我发现的所有说明都是针对开发人员的......

(我正在使用Angularjs,所以任何Javascript或Angular解决方案都可以接受)

编辑:我找到了一个能满足我想要的网站,可能会帮助您理解我想要做的事情。

如果您在其中粘贴https://vimeo.com/22439234并按生成,则会输出:

<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">

Get your own valid XHTML Vimeo embed code

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

http://www.tools4noobs.com/online_tools/vimeo_xhtml/

2 个答案:

答案 0 :(得分:8)

以下是解决方案的小提琴:http://jsfiddle.net/ost9y204/

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

<input id="video">

您可以使用此功能解析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];    
};

无论何时需要获取网址,只需致电parseUrl()即可。然后将返回的值放在iframe的src中。

答案 1 :(得分:2)

执行此操作的最佳方法是使用oEmbed API:https://developer.vimeo.com/apis/oembed

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

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

这将为您提供一个带有html密钥的嵌入代码的JSON对象。