【发布时间】:2016-10-20 21:16:04
【问题描述】:
我正在尝试让我的网页上的 YouTube 视频以全屏模式启动。由于 YouTube API 没有直接全屏调用,因此我试图通过在 iframe 本身上调用 requestFullScreen 函数来让 YouTube 视频以全屏模式启动,如 codepen 所示。
loadYoutubeAPI 在文档就绪时调用。这是调用 playIntroVideo() 的按钮。
a href="javascript:void(0);" onclick="playIntroVideo()"
这是我的 iframe(由 YouTube API 和我的函数生成)和生成它的函数。
<iframe id="player" frameborder="0" title="YouTube video player" width="640" height="360" src="https://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1&origin=http%3A%2F%2Flocalhost%3A3000&widgetid=1"></iframe>
function loadYoutubeAPI() {
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
function onYouTubeIframeAPIReady() {
}
var player;
function playIntroVideo() {
player = new YT.Player('player', {
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
$('#player').attr("allowfullscreen", "true");
var iframe = ($('#player'));
event.target.playVideo();
var requestFullScreen = iframe.requestFullscreen || iframe.msRequestFullscreen || iframe.mozRequestFullScreen || iframe.webkitRequestFullscreen;
if (requestFullScreen) {
requestFullScreen.bind(iframe)();
}
}
视频按要求播放,但未全屏播放。在 Chrome 的开发工具中检查不同的 requestFullscreens 会发现它们都是未定义的。但是,有无数人在 iframe 上调用 requestFullscreen 的例子,所以我不明白为什么我的不起作用。
【问题讨论】:
标签: javascript jquery ruby-on-rails iframe youtube