我正在为客户端(用户)设法让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&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 ......
答案 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对象。