使用 YouTube iframe 嵌入播放器,有没有办法以编程方式触发全屏?我想删除默认控件(使用控件 = 0),但随后能够自行创建自定义全屏按钮。
问问题
2101 次
3 回答
4
使 iframe 不是全屏而是全页:
function fullscreen() {
var vid = document.getElementById("vid");
vid.style.position = "absolute";
vid.style.width = "100vw";
vid.style.height = "100vh";
vid.style.top = "0px";
vid.style.left = "0px";
document.getElementById("exit").style.display = "inline";
}
function exitfullscreen() {
var vid = document.getElementById("vid");
vid.style.position = "";
vid.style.width = "";
vid.style.height = "";
vid.style.top = "";
vid.style.left = "";
document.getElementById("exit").style.display = "none";
}
<iframe width="560" height="315" src="https://www.youtube.com/embed/fq6qcvfZldE?rel=0&controls=0&showinfo=0" frameborder="0" id="vid" allowfullscreen></iframe>
<button onClick="fullscreen()">Fullscreen</button>
<button style="position: fixed;
bottom: 5px;
right: 5px;
display: none;
z-index: 2000;" id="exit" onClick="exitfullscreen()">Exit Fullscreen</button>
full page代码片段右上角的按钮也以这种方式工作。如果您想让浏览器全屏显示,您可以尝试document.requestFullscreen();
,但这仍然是实验性的,适用于极少数浏览器。看看这个函数的MDN主题。
编辑:刚刚发现:https ://developers.google.com/youtube/?csw=1#player_apis ,官方 youtube 播放器 API。
于 2015-05-09T16:05:15.140 回答
1
在 Webkit 浏览器中尝试以下操作:
if (typeof iframe.webkitRequestFullScreen === 'function') {
button.addEventListener('click', function () {
iframe.webkitRequestFullScreen();
}, false);
}
请注意,如果没有用户手势(在本例中为“单击”),这将不起作用。
于 2015-05-11T20:02:11.853 回答
0
您可以使用此库XCDYouTubeKit代替 iframe 播放器。
它非常简单而强大。支持全屏和非全屏。
于 2015-12-28T10:56:41.847 回答