"user friendly" vimeo 嵌入,从 url 获取嵌入代码
"user friendly" vimeo embedding, get embed code from url
我正在研究一种方法,让客户端(用户)从 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 例如: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&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ff9933&fullscreen=1" allowfullscreen="true" allowscriptaccess="always">
Get your own valid XHTML Vimeo embed code
这正是我所需要的,只是它不是 iFrame...
这里有一个 fiddle 的解决方案: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中。
最好的方法是使用 oEmbed API:https://developer.vimeo.com/apis/oembed
对于您在问题中提供的link,您将请求:
https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/22439234
这将为您返回一个 JSON 对象,该对象具有带有嵌入代码的 html
键。
我正在研究一种方法,让客户端(用户)从 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 例如: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&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ff9933&fullscreen=1" allowfullscreen="true" allowscriptaccess="always">
Get your own valid XHTML Vimeo embed code
这正是我所需要的,只是它不是 iFrame...
这里有一个 fiddle 的解决方案: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中。
最好的方法是使用 oEmbed API:https://developer.vimeo.com/apis/oembed
对于您在问题中提供的link,您将请求:
https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/22439234
这将为您返回一个 JSON 对象,该对象具有带有嵌入代码的 html
键。