如何使用 iframe 作为 YT 的输入.选手
How to use an iframe as input for YT.Player
文档说我们应该使用一个div容器,其中将附加<iframe>
元素。
那行得通:
new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange
}
});
但是我应该在页面上<div id="player"></div>
一个元素。
如果我已经有带有嵌入视频的 iframe 元素,是否可以在 YT.Player
构造函数中使用该 iframe?
我想要这样的东西:
new YT.Player('iframeId').playVideo();
但是playVideo
不存在,因为播放器没有加载(我想这是因为我们提供了 iframe ID)。
有没有办法将现有的 iframe 与 YT 连接起来。播放器实例?
我为它写了一个快速的技巧:从<iframe>
url获取视频ID,将iframe替换为div并初始化播放器:
YTPlayerIframe = (function () {
function youtube_parser(url){
var regExp = /^.*((youtu.be'/)|(v'/)|('/u'/'w'/)|(embed'/)|(watch'?))'??v?=?([^#'&'?]*).*/;
var match = url.match(regExp);
return (match&&match[7].length==11)? match[7] : false;
}
var __oldPlayer = YT.Player;
var player = function (id, options) {
var el = document.getElementById(id);
options.videoId = youtube_parser(el.getAttribute("src"))
el.outerHTML = "<div id='" + id + "'>test</div>";
return new __oldPlayer(id, options);
};
return player;
})();
然后你可以这样使用它:
var myPlayer = YTPlayerIframe("iframe-id", {
// The videoId option will be taken from the iframe src.
events: {
onReady: function () {...}
}
});
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 使用jquery在单击时在单元格中输入值
- Ajax文件加载和<输入>文件加载
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 将值输入到对象,然后该对象推送到数组
- 如何使用 iframe 作为 YT 的输入.选手