1

我正在努力让客户(用户)从 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">

获取您自己的有效 XHTML Vimeo 嵌入代码

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

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

4

2 回答 2

9

这是解决方案的一个小提琴:http: //jsfiddle.net/ost9y204/

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

<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];    
};

每当您需要获取 URL 时,只需调用parseUrl(). 然后将返回的值放入 iframe 的 src 中。

于 2015-03-23T09:27:25.213 回答
3

最好的方法是使用 oEmbed API:https ://developer.vimeo.com/apis/oembed

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

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

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

于 2015-04-16T18:57:38.897 回答